Pandas数据框在groupby时取每个组的组最大值

奥库布

我有很多列的数据框,2是分类的,其余是数字的:

df = [type1 , type2 , type3 , val1, val2, val3
       a       b        q       1    2     3
       a       c        w       3    5     2
       b       c        t       2    9     0
       a       b        p       4    6     7
       a       c        m       2    1     8]

我想基于将根据groupby(["type1","type2"])分组行中的最大值创建的操作应用合并

df = [type1 , type2 ,type3, val1, val2, val3 
       a       b       q      2    6     7     
       a       c       w      4    5     8      
       b       c       t      2    9     0      

说明:val3第一行是7,因为这是时的最大值type1 = a, type2 = b

同样,val3第二行是8,因为这是时的最大值type1 = a, type2 = c

耶斯列尔

如果需要通过max以下方式汇总所有列

df = df.groupby(["type1","type2"]).max()
print (df)
            type3  val1  val2  val3
type1 type2                        
a     b         q     4     6     7
      c         w     3     5     8
b     c         t     2     9     0

如果需要一些列聚集不同,您可以创建字典,聚合函数的列名,然后设置一些列的其它集合functuions,像type3使用firstval1使用last

d = dict.fromkeys(df.columns.difference(['type1','type2']), 'max')
d['type3'] = 'first'
d['val1'] = 'last'

df = df.groupby(["type1","type2"], as_index=False, sort=False).agg(d)
print (df)
  type1 type2 type3  val1  val2  val3
0     a     b     q     4     6     7
1     a     c     w     2     5     8
2     b     c     t     2     9     0

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫groupby对每个组值进行排序,并根据每个组的最大值对数据框组进行排序

来自分类Dev

按每个组中的最大值过滤数据框

来自分类Dev

为数据框中的每个组取最大值

来自分类Dev

MYSQL返回每个组的最大值

来自分类Dev

从每个组的Oracle获取最大值

来自分类Dev

为每个组创建最大值

来自分类Dev

为每个组ID设置组的最大值

来自分类Dev

MySql的:选择每个组的最大值与相应的ID值

来自分类Dev

如何获取数据框中每个组的10个最大值?

来自分类Dev

在MySQL查询中获取每个组的最大值

来自分类Dev

pyspark:grouby,然后获取每个组的最大值

来自分类Dev

推力CUDA在每个组(段)中找到最大值

来自分类Dev

获取表中每个组的最大值

来自分类Dev

R:具有最大值的子集/组数据帧?

来自分类Dev

根据组的最大值子集数据帧

来自分类Dev

在一组数据中寻找局部最大值

来自分类Dev

新数据框在每个组中包含一定值

来自分类Dev

获取组中最大值的ID

来自分类Dev

Matlab组内的最大值

来自分类Dev

选择组中最大值的记录

来自分类Dev

Laravel收集组的最大值

来自分类Dev

Python中按组的最大值

来自分类Dev

DAX按组计数最大值

来自分类Dev

返回所有组的最大值?

来自分类Dev

通过组获取表的最大值

来自分类Dev

熊猫,groupby,并在组中找到最大值,返回值和数量

来自分类Dev

Python:如何根据首次达到每个组的列中的最大值来分配值?

来自分类Dev

R根据另一行找到每个组的最小值和最大值

来自分类Dev

Python:如何根据首次达到每个组的列中的最大值来分配值?