我有数据帧df。我需要从数据帧中的非零值开始添加值10,并保持非零值之前的零不变。我正在使用以下代码
df_lci = df.replace ({0: np.nan}).add(10).fillna(0)
问题是我在列中间有零值。不会在列中间添加10的零值。请帮助解决问题
数据框df
value
1 0
2 0
3 0
4 0
5 51.134
6 52.4833
7 53.7698
8 0
9 4
预期输出:
0
0
0
0
61.134
62.4833
63.7698
10
14
答案 0 :(得分:3)
IIUC
df.loc[df.value.ne(0).idxmax():,'value']+=10
df
Out[579]:
value
1 0.0000
2 0.0000
3 0.0000
4 0.0000
5 61.1340
6 62.4833
7 63.7698
8 10.0000
9 14.0000