首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使每一列都是Pandas Dataframe之前所有列的总和

使每一列都是Pandas Dataframe之前所有列的总和
EN

Stack Overflow用户
提问于 2021-08-10 15:22:16
回答 1查看 62关注 0票数 0

我有以下熊猫数据框架:

代码语言:javascript
复制
           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

你可以使用下面的代码来获得它:

代码语言:javascript
复制
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)

我希望每一列都是前面所有列的总和,因此最终的数据帧将如下所示:

代码语言:javascript
复制
           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

我可以获得所有列的总和,并使用以下代码使其成为一个新列:

代码语言:javascript
复制
df['Total'] = df.iloc[:,:].sum(axis=1)

这将导致以下数据帧:

代码语言:javascript
复制
           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“。有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-10 15:27:08

代码语言:javascript
复制
df=df.cumsum(axis=1)
print(df)

打印:

代码语言:javascript
复制
           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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68729507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档