Python 根据行值(条件)创建新列
我有一个这样的专栏Python 根据行值(条件)创建新列,python,pandas,Python,Pandas,我有一个这样的专栏 A 1.0 1.0 2.0 3.0 4.0 5.0 5.0 5.0 我需要根据条件创建一个新列,如果a[i]和a[i-1]相同,则值为0或1 结果应该如下所示: 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 正确的方法是什么 通过sompare为不等于的对象创建布尔掩码,使用ed系列并转换为整数: df['B'] = df
A
1.0
1.0
2.0
3.0
4.0
5.0
5.0
5.0
我需要根据条件创建一个新列,如果a[i]和a[i-1]相同,则值为0或1
结果应该如下所示:
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
正确的方法是什么 通过sompare为不等于的对象创建布尔掩码,使用ed
系列
并转换为整数
:
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: bool