复制Pandas数据帧中以前的值



我有一个column A以零开头的数据帧,而不是有相同的数字点缀着零。我需要一个column C,其中:

  • 第一行等于零,直到column A中的第一个数字
  • column A中存在数字的位置为零
  • 相同的前一个column A编号直到下一个

结果应该如下所示:

df = pd.DataFrame([0, 8, 0, 0, 0, 6, 0, 0], columns=['A'])
df['B'] = ([0, 0, 8, 8, 8, 0, 6, 6])

我们可以做:

where = df['A'].ne(0)
df['B'] = df['A'].where(where).ffill().mask(where, 0)

相关内容

最新更新