我有以下熊猫数据框架:
2019 Jan 2019 Mar 2019 Apr 2019 May 2019 Jun
CASC\n 2.0 2.0 2.0 1.0 2.0
SpaceX\n 1.0 1.0 1.0 2.0 2.0你可以使用下面的代码来获得它:
import pandas as pd
data_dict = {
'2019 Jan': {' CASC\n': 2.0, ' SpaceX\n': 1.0},
'2019 Mar': {' CASC\n': 2.0, ' SpaceX\n': 1.0},
'2019 Apr': {' CASC\n': 2.0, ' SpaceX\n': 1.0},
'2019 May': {' CASC\n': 1.0, ' SpaceX\n': 2.0},
'2019 Jun': {' CASC\n': 2.0, ' SpaceX\n': 2.0}
}
pd.DataFrame.from_dict(data_dict)我希望每一列都是前面所有列的总和,因此最终的数据帧将如下所示:
2019 Jan 2019 Mar 2019 Apr 2019 May 2019 Jun
CASC\n 2.0 4.0 6.0 7.0 9.0
SpaceX\n 1.0 2.0 3.0 5.0 7.0我可以获得所有列的总和,并使用以下代码使其成为一个新列:
df['Total'] = df.iloc[:,:].sum(axis=1)这将导致以下数据帧:
2019 Jan 2019 Mar 2019 Apr 2019 May 2019 Jun Total
CASC\n 2.0 2.0 2.0 1.0 2.0 9.0
SpaceX\n 1.0 1.0 1.0 2.0 2.0 7.0但这显然不是我想要的。取而代之的是,我希望每一列都作为前一列及其自身的"Total“。有人知道怎么做吗?
发布于 2021-08-10 15:27:08
df=df.cumsum(axis=1)
print(df)打印:
2019 Jan 2019 Mar 2019 Apr 2019 May 2019 Jun
CASC\n 2.0 4.0 6.0 7.0 9.0
SpaceX\n 1.0 2.0 3.0 5.0 7.0https://stackoverflow.com/questions/68729507
复制相似问题