gpt4 book ai didi

python - 如何对 pandas crosstab 中的行求和并制作一个新的 crosstab?

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:27 24 4
gpt4 key购买 nike

我有来自 Excel 工作表的数据,我在 Pandas 交叉表中进行了汇总。我想通过对相关行求和来进一步对数据进行分类。

这是我的交叉表:

class_of_orbit         Elliptical  GEO  LEO  MEO  All
users
Civil 0 0 36 0 36
Civil/Government 0 0 2 0 2
Commercial 3 99 412 0 514
Government 9 14 38 0 61
Government/Civil 0 0 10 0 10
Government/Commercial 0 2 81 0 83
Government/Military 0 0 1 0 1
Military 9 67 66 0 142
Military/Civil 0 0 2 0 2
Military/Commercial 0 0 0 32 32
All 21 182 648 32 883

我只想要 4 个组:civil、govt、commercial 和 military。如果名称中有“政府”,我想对包含它的所有行求和。如果名称中有“军事”,我想将这些行汇总为军事行....

执行此操作的最佳方法是什么?

最佳答案

pd.crosstab

从头开始

pd.crosstab(df.users.str.split('/').str[0], df.class_of_orbit)

分组方式

在您已有的基础上。如果您将可调用对象传递给 groupby,它会将其应用于索引并将结果用作分组依据。

xtab.groupby(lambda x: x.split('/')[0]).sum()

Elliptical GEO LEO MEO All
All 21 182 648 32 883
Civil 0 0 38 0 38
Commercial 3 99 412 0 514
Government 9 16 130 0 155
Military 9 67 68 32 176

关于python - 如何对 pandas crosstab 中的行求和并制作一个新的 crosstab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57101797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com