我知道这个问题存在,但我找不到任何简单到足以理解并适合我的问题的答案。我在数据框中有一个列,我希望保留此列的运行总计(cumsum),但重置NAN值
Index s_number s_cumsum
0 1 1
1 4 5
2 6 11
3 Nan 0
4 7 7
5 2 9
6 3 12
解决办法:使用groupby和cumsum:
df['s_cumsum'] = df.s_number.groupby(df.s_number.isna().cumsum()).cumsum()
df
Index s_number s_cumsum
0 0 1.0 1.0
1 1 4.0 5.0
2 2 6.0 11.0
3 3 NaN NaN
4 4 7.0 7.0
5 5 2.0 9.0
6 6 3.0 12.0
请注意,如果“s_number”是一列字符串,请使用
df['s_number'] = pd.to_numeric(df['s_number'], errors='coerce)
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar