如何找到python panda数据帧中的所有零单元格并替换它们?

如何找到python panda数据帧中的所有零单元格并替换它们?,python,pandas,Python,Pandas,我的数据如下: df = pd.DataFrame({'a': [5,0,0, 6, 0, 0, 0 , 12]}) 我想计算6上面的零,并将其替换为(6/count+1)=(6/3)=2(我还将替换原来的6) 我还想对12上面的零做类似的事情。 所以,(12/计数)=(12/3)=4 因此,最终结果将是: [5,2,2, 2, 3, 3, 3 , 3] 我不知道如何开始。有什么函数可以做到这一点吗? 谢谢。与平均值一起使用和使用测试不等于0创建的自定义组,交换顺序、累计和和交换顺序为原始:

我的数据如下:

df = pd.DataFrame({'a': [5,0,0, 6, 0, 0, 0 , 12]})
我想计算6上面的零,并将其替换为
(6/count+1)=(6/3)=2
(我还将替换原来的6) 我还想对12上面的零做类似的事情。 所以,
(12/计数)=(12/3)=4
因此,最终结果将是:

[5,2,2, 2, 3, 3, 3 , 3]
我不知道如何开始。有什么函数可以做到这一点吗? 谢谢。

平均值一起使用
和使用测试不等于
0
创建的自定义组,交换顺序、累计和和交换顺序为原始:

g = df['a'].ne(0).iloc[::-1].cumsum().iloc[::-1]
df['b'] = df.groupby(g)['a'].transform('mean')
print (df)
    a  b
0   5  5
1   0  2
2   0  2
3   6  2
4   0  3
5   0  3
6   0  3
7  12  3