如何将功能应用于GROUPWISELY数据框的所有列?(在python熊猫中)

亚历山大·切尔沃夫(Alexander Chervov)

如何“按组”将函数应用于数据框的每一列?即按一列的值分组,然后计算(例如)每组的平均值+其他列。预期的输出是带有索引的数据帧-不同组的名称,以及值-每个组的平均值+列

例如考虑:

df = pd.DataFrame(np.arange(16).reshape(4,4), columns=['A', 'B', 'C', 'D'])
df['group'] = ['a', 'a', 'b','b']


    A   B   C   D   group
0   0   1   2   3   a
1   4   5   6   7   a
2   8   9   10  11  b
3   12  13  14  15  b

我想为每列计算例如np.mean,但要“按组”进行计算,在该特定示例中,可以通过以下方式完成:

t = df.groupby('group').agg({'A': np.mean, 'B': np.mean, 'C': np.mean, 'D': np.mean })

    A   B   C   D
group               
a   2   3   4   5
b   10  11  12  13

但是,它要求显式使用列名“ A”:np.mean,“ B”:np.mean,“ C”:np.mean,“ D”:np.mean,这对我的任务是不可接受的,因为它们可以被改变。

耶斯列尔

正如MaxU评论中最简单的是groupby+ GroupBy.mean

df1 = df.groupby('group').mean()
print (df1)
        A   B   C   D
group                
a       2   3   4   5
b      10  11  12  13

如果需要索引中的列:

df1 = df.groupby('group', as_index=False).mean()
print (df1)
  group   A   B   C   D
0     a   2   3   4   5
1     b  10  11  12  13

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将函数应用于数据框中的所有列并在python中以数据框的形式获取输出

如何将格式编辑应用于数据框中的所有数据

将功能应用于熊猫数据框的列

熊猫数据框将功能应用于整个列

熊猫如何将多个功能应用于数据框

将功能应用于数据框的所有元素

如何将聚合函数应用于Pandas中数据透视表的所有列

如何将功能应用于每组数据框

将功能应用于熊猫数据框中的特定选定列

如何将条件颜色样式应用于多索引熊猫数据框中的列

如何将Lambda函数应用于熊猫数据框中的某些行并创建新列

如何将Lambda函数正确应用于熊猫数据框列

如何将具有多种条件的函数应用于熊猫数据框?

将排序功能应用于熊猫中的所有分组数据?

如何将函数应用于数据框列

如何将节点包中的功能应用于目录中的所有文件?

如何将权重应用于数据框中的特定列以汇总新的“得分”列?

如何将日期时间应用于存储在字典中的数据框中的列?

熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

将功能应用于熊猫数据框

将功能应用于熊猫数据框的单列

将类似功能应用于多级熊猫数据框

将功能按行应用于熊猫数据框

将正则表达式应用于数据框所有列的Python方法

将函数应用于我的数据框中的所有列

将函数应用于pandas groupby 数据框中的所有列

将wilcox.test应用于数据框中的所有配对列

将函数应用于pandas数据框中的所有其他列

如何将字典应用于包含 Pandas 中的 numpy 数组的数据框列