创建具有多行条件的列

我有下一个数据帧:

pd.DataFrame(['a','a','a','a','b','b','b','c','c','a'])

我需要考虑到另一列的变化来创建一个列。

按照这个结果:

数字
一种 1
一种 0
一种 0
一种 0
1
0
0
C 1
C 0
一种 1

回答

shift

我假设这df就是 OP 提供的

df = pd.DataFrame(['a','a','a','a','b','b','b','c','c','a'])

然后将第一列重新分配为一个系列 letter

letter = df.iloc[:, 0]

pd.DataFrame({
    'Letter': letter,
    'Number': letter.shift().ne(letter).astype(int)
})

  Letter  Number
0      a       1
1      a       0
2      a       0
3      a       0
4      b       1
5      b       0
6      b       0
7      c       1
8      c       0
9      a       1


以上是创建具有多行条件的列的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>