假设我有一个整数列表,它对应于我想将整数值增加 1 的点。
例如 Int64Index([5, 10])
,甚至不一定像那样间隔,我有一个类似的数据框,
val new_col
0 0.729726564 1
1 0.067509062 1
2 0.943927114 1
3 0.037718436 1
4 0.512142908 1
5 0.767198655 2
6 0.202230787 2
7 0.343767479 2
8 0.540026305 2
9 0.256425022 2
10 0.403845023 3
11 0.444475008 3
12 0.464677745 3
我想创建 new_col
,它是一个 int,但在上述索引行上增加。
编辑:
import pandas as pd
import numpy as np
df = pd.DataFrame({'val': np.random.rand(14)})
df['new_col'] = 1
如何在每个索引点 (5, 10)
将 new_col
的值增加一?
最佳答案
我从您的评论中看到您指的是“任意位置”,因此您可以根据需要使用 bins 将它们隔开。 .
例子:
bins = [-1,3,5,12,14] #space as you wish
labels = [1,2,3,4] #labels or in your case values that you want
df['new_col'] = pd.cut(list(df.index.values), bins=bins, labels=labels)
val new_col
0 0.509742 1
1 0.081701 1
2 0.990583 1
3 0.813398 1
4 0.905022 2
5 0.951973 2
6 0.702487 3
7 0.916432 3
8 0.647568 3
9 0.955188 3
10 0.875067 3
11 0.284496 3
12 0.393931 3
13 0.341115 4
关于python - Pandas 在某些索引点增加整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468948/