我有数据帧测向。我需要从数据帧中的非零值开始添加值10,并将零保持在非零值之前。我使用以下代码
df_lci = df.replace ({0: np.nan}).add(10).fillna(0)
问题是在列的中间有零个值。不添加列中间的零值。请帮忙解决这个问题
数据帧 df
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
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