我有一个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)