【发布时间】:2022-11-27 05:59:45
【问题描述】:
如图所示,我想在 python pandas 中做同样的事情。 enter image description here
这是求和函数,其中第一个单元格是固定的,公式计算“连续求和”。
我试图创建 pandas 数据框,但是我没能完全做到这一点。
【问题讨论】:
-
也许到目前为止显示您的代码
标签: python excel pandas function sum
如图所示,我想在 python pandas 中做同样的事情。 enter image description here
这是求和函数,其中第一个单元格是固定的,公式计算“连续求和”。
我试图创建 pandas 数据框,但是我没能完全做到这一点。
【问题讨论】:
标签: python excel pandas function sum
您可以使用 DataFrame.cumsum() 来实现您想要的:
import pandas as pd
df = pd.DataFrame([10, 20, 30])
print(df.cumsum())
【讨论】:
我会参考pandas cumsum() 例如:
df['NEW_COLUMN_CUMULATED'] = df['OLD_COLUMN'].cumsum()
【讨论】:
根据您分享的示例,使用 pandas.Series.cumsum 和 pandas.Series.ffill :
import pandas as pd
import numpy as np
df= pd.DataFrame({'Nuber': [10.0, np.NaN, 20.0, np.NaN, np.NaN, 10.0, np.NaN, np.NaN, 30.0]})
df["Sum cont"]= df["Nuber"].cumsum().ffill()
print(df)
Nuber Sum cont
0 10.0 10.0
1 NaN 10.0
2 20.0 30.0
3 NaN 30.0
4 NaN 30.0
5 10.0 40.0
6 NaN 40.0
7 NaN 40.0
8 30.0 70.0
如果您从 Excel 电子表格中读取数据,请使用:
import pandas as pd
df = pd.read_excel("python inport.xlsx")
df["Sum cont"]= df["Nuber"].cumsum().ffill()
或这个 :
import pandas as pd
df = (
pd.read_excel("python inport.xlsx")
.assign(Sum_Count= lambda x: x["Nuber"].cumsum().ffill())
)
【讨论】:
pd.read_excel的excel导入的。到目前为止,我试图让它与您的代码一起使用,但没有成功。主要问题是 df["Nuber“] 在 excel 导入中没有像您在示例中那样定义。我会很感激你的帮助。 @abokey