这个链接非常接近我想到的查询。 Python pandas groupby aggregate on multiple columns
涉及该问题的主要议题是: 1. Python | 2.熊猫DS | 3.分组依据4.聚合函数| 5.Efficiency
我拥有的当前熊猫DS是 列名称 - > Unique_Identifier |分类|产品|值
因此数据具有每个产品重复的标识符。我需要的信息是每个标识符得到1行,列是count(记录)以及每个Identifier - Classification组合的sum(Values)。
我确实尝试过groupby([' Unique_Identifier',' Classficiation'])但是无法找出新的列生成部分的大小和总和。
由于数据疯狂大,我正在寻找高效率。我是熊猫的新手,因此很想从大师那里得到一些帮助。 谢谢, 中号
示例数据如下所示:
Index Identifier Classification Product Value
1 123 X abc 10
2 123 X bcd 20
3 123 Y cde 30
4 123 Y def 40
5 123 Z efg 50
6 234 Z ghi 60
7 234 Z abc 70
8 234 X bcd 80
9 345 X cde 90
10 345 Y def 10
预期输出 - 类似这样的
Sum Size
Identifier X Y Z X Y Z
123 30 70 50 2 2 1
234 80 NAN 130 1 NAN 2
345 90 10 NAN 1 1 NAN
答案 0 :(得分:-1)
我想出了一些步骤来根据需要获取视图。大师可以交叉检查并验证相同的内容。 第1步:使用groupby设置组(['标识符','分类'])
step2:使用'值'汇总和计数的函数。 温度['值&#39]。AGG(['和''大小'])。reset_index()
/ * reset index用于查看更好的有序记录,而不是引用旧索引* /
step3(可选):如果你有另一列(比如说值2)那么你需要用该列重复步骤2并合并标识符和分类上的2个数据集
第4步:使用pivot(index =' Identifier',columns =' Classification')
步骤5:以所需格式保存数据集。我用过CSV。
输出看起来像这样 -
Sum Size
Identifier X Y Z X Y Z
123 30 70 50 2 2 1
234 80 NAN 130 1 NAN 2
345 90 10 NAN 1 1 NAN