熊猫groupby和sum,同时保留其他属性

塞斯

我已经看到了熊猫aggregate功能的例子,但是这些并不能解决我的问题。由于集合函数的示例将所有属性加总或仅将几个属性加总,因此结果df仅具有这些加总的属性或在中使用的属性groupby就我而言,我不想为group by或sum使用某些属性,而仍将它们保留在result中df

我正在尝试对一些属性进行分组和汇总,同时保留其他未汇总的属性,但面临如下所述的挑战。

数据片段

在我的交易数据集中,Customer_ID每个客户entry time都是唯一的,每个交易都是唯一的。任何客户在一段时间内都会进行多次交易。大多数事务重复两次或更多次,具体取决于与事务关联的标签数量(但通常为2到4个标签)。我需要每个交易等多个项目结合起来,只有1行,1 customer_ID,一个genderageentry timelocationcountry和所有的标签属性。

如果仅按进行分组customer_IDentry time然后对Tag求和,则结果数据框将具有正确的唯一客户数量:150K。但我失去的属性genderagelocationcountryexit timevalue 1value 2在由此而来df

result = df.groupby(["customer_ID","entry time"])["Tag1", "Tag2","Tag3","Tag4","Tag5","Tag6","Tag7","Tag8"].sum().reset_index()

如果我按所有必需的属性分组并汇总Tag,则我只能获得90K唯一客户,这是不正确的。

result = df.groupby(["customer_ID", "entry time", "gender", "age","location", "country", "exit time", "value 1", "value 2"
 ])["Tag1","Tag2","Tag3","Tag4","Tag5","Tag6","Tag7","Tag8"].sum().reset_index()

1次交易的行示例 我想要1次交易的示例

那么,如何有效地仅对customer_ID和进行分组entry time,对所有Tag求和,并仍然保留结果中的其他属性df(df大小约为700 MB)?

完善

从技术上讲,您正在尝试汇总唯一的customer_ID输入时间(不是唯一的客户)。为了保持其他属性,必须做出一些汇总决定以保留哪些值。考虑延伸的groupby().aggregate调用来检索firstlastminmax值。

agg_df = (df.groupby(['customer_ID', 'entry time'], as_index=False)
            .aggregate({'gender':'first', 'age':'first', 
                        'location':'first', 'country':'first', 
                        'exit time':'first', 'value 1':'first', 'value 2':'first',
                        'Tag1':'sum', 'Tag2':'sum', 'Tag3':'sum', 'Tag4':'sum', 
                        'Tag5':'sum', 'Tag6':'sum', 'Tag7':'sum', 'Tag8':'sum'})
         )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas条件和,同时保留其他值

Linq 通用 GroupBy 日期和其他字段同时

如何根据其他列和其他条件过滤熊猫数据框并仅保留行

对列进行Groupby以获得计数,同时保留所有其他列不变

熊猫Groupby sum和concatenate

当与groupby一起使用sum()时,Python保留其他列

向熊猫数据框添加其他行以捕获残值,同时保留每个行的前2个

在 Pandas Groupby 和 Agg 中保留一列但使用其他列

应用group_by和summarise(sum),但保留大量其他列

groupby 1列和其他列的总和作为新的数据框熊猫

有没有一种方法可以使用groupby.sum并保留其他列?

Elasticsearch可以同时按地理距离和其他属性搜索吗?

在保留所有其他列的同时旋转列

分组依据,同时保留对其他列的访问权限

在上传图像的同时保留其他表单数据

交换4位,同时保留其他位?

如何在保留其他功能的同时从Firefox地址栏中禁用搜索和域猜测?

熊猫:如何根据其他2列的增量和连续属性来增加新列?

在python中绘制几个熊猫数据框时如何设置图例和其他属性?

应用熊猫组功能保留其他列

熊猫:枢轴数据框并保留其他非数字列

如何在Groupby中保留其他列的行值?

使用 groupby 时保留数据框中的其他列

Python:Pandas Dataframe,groupby 但保留其他缺失值

熊猫groupby:计算满足其他列条件的行?

在熊猫数据帧上同时运行groupby和resample?

lodash groupby 和 sum 对象属性

在继承其他属性的同时跳过子类中的父背景

MODIFY是否在MariaDB中保留其他列属性?