Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据行值(条件)创建新列_Python_Pandas - Fatal编程技术网

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