python - 创建一个包含多行条件的列

标签 python pandas dataframe

我有下一个 DataFrame:

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

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

按照这个结果:

<表类="s-表"> <头> 信 数 <正文> 一个 1 一个 0 一个 0 一个 0 b 1 b 0 b 0 c 1 c 0 一个 1

每次字母变化,我都需要放一个1。

最佳答案

转移

我假设 df 是 OP 提供的

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

然后将第一列重新分配给一系列字母

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

关于python - 创建一个包含多行条件的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66377183/

相关文章:

python - Pandas 数据框旋转

python - 如何检查包含不同数据类型的 pandas 数据框中的负值?

python - Flask 日志记录 - 调试设置

python - 尝试使用 Vyatta 的非标准命令时出现 Paramiko "Invalid command"

python - 如何使用 iloc[:, 0] 将第一列设置为索引

python - 按 pandas 数据框唯一的第一个值分组 - 返回 numpy 数组

python - 用另一列中的元素替换数据框中的列 - python

pandas - 除以 pandas 数据框中一组内的最大值

python - 默认情况下使matplotlib图看起来像R?

python - FIFO 在 python "AttributeError: Queue instance has no attribute ' 前面出队'?