使用python对多索引表中的行值求和

2024-04-24 03:45:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试从下面的数据框中获取“1”的所有出现次数之和的额外列(总计)。Dataframe有多索引列(ID、Effect和Duration)。你知道吗

ID  Effect  Duration    X1  X2  X3  
1888    High    5   1   0   1
1313    High    10  0   1   0
3455    Low 20  1   0   0

我的命令:

df['Total'] = df[df.columns].sum(1)

这在“Total”列中给了我一个意外的值。你知道吗

获得的输出:

ID  Effect  Duration    X1  X2  X3  Total   
1888    High    5   1   0   1   11
1313    High    10  0   0   0   0
3455    Low 20  1   1   1   111

期望输出:

ID  Effect  Duration    X1  X2  X3  Total   
1888    High    5   1   0   1   2
1313    High    10  0   0   0   0
3455    Low 20  1   1   1   3

如何使用python获得所需的输出?谢谢


Tags: 数据命令iddataframedf次数lowtotal
1条回答
网友
1楼 · 发布于 2024-04-24 03:45:49

列是字符串而不是整数。在执行操作之前,首先将列转换为适当的类型:

df[['X1', 'X2', 'X3']].astype(int).sum(1)

相关问题 更多 >