我有这样的专栏,
A
1.0
1.0
2.0
3.0
4.0
5.0
5.0
5.0我需要根据一个条件创建一个新列,如果ai和ai-1是相同的,那么值是0。
结果应该如下所示:
A B
1.0 1
1.0 0
2.0 1
3.0 1
4.0 1
5.0 1
5.0 0
5.0 0正确的熊猫怎么做?
发布于 2018-07-12 05:43:57
通过sompare创建布尔掩码,用于ne与shifted Series的不相等,并将其转换为integer
df['B'] = df['A'].ne(df['A'].shift()).astype(int)
print (df)
A B
0 1.0 1
1 1.0 0
2 2.0 1
3 3.0 1
4 4.0 1
5 5.0 1
6 5.0 0
7 5.0 0细节
print (df['A'].ne(df['A'].shift()))
0 True
1 False
2 True
3 True
4 True
5 True
6 False
7 False
Name: A, dtype: boolhttps://stackoverflow.com/questions/51298046
复制相似问题