使用groupby和mean()在Pandas中保留带有分类变量的列

阿诺德·克莱恩(Arnold Klein):

有没有办法在groupby之后保留类别变量mean()例如,给定数据框df

              ratio    Metadata_A      Metadata_B   treatment
0      54265.937500           B10               1  AB_cmpd_01
11    107364.750000           B10               2  AB_cmpd_01
22     95766.500000           B10               3  AB_cmpd_01
24     64346.250000           B10               4  AB_cmpd_01
25     52726.333333           B10               5  AB_cmpd_01
30     65056.600000           B11               1          UT
41     78409.600000           B11               2          UT
52    133533.000000           B11               3          UT
54    102433.571429           B11               4          UT
55     82217.588235           B11               5          UT
60     89843.600000            B2               1          UT
71     98544.000000            B2               2          UT
82    179330.000000            B2               3          UT
84    107132.400000            B2               4          UT
85     73096.909091            B2               5          UT

我需要平均ratio每个Metadata_A,但最后保留该列treatment

从理论上讲,类似于:

df.groupby(by='Metadata_A').mean().reset_index()

              ratio    Metadata_A      Metadata_B   treatment
 0     54265.937500           B10             2.5  AB_cmpd_01
 1     78409.600000           B11             2.5          UT
 2    107132.400000            B2             2.5          UT

但是,该列treatment在求平均值后消失。

YOBEN_S:

你可以用groupbyagg

df.groupby(['Metadata_A','treatment'],as_index=False).agg({'Metadata_B':'mean','ratio':'first'})
Out[358]: 
  Metadata_A   treatment  Metadata_B       ratio
0        B10  AB_cmpd_01           3  54265.9375
1        B11          UT           3  65056.6000
2         B2          UT           3  89843.6000

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

带有分类列的Pandas Groupby返回NaN

Pandas groupby sum,在结果数据框中保留特定列

在特定列中保留带有值的行?

Python Pandas-Groupby和Mean,但保留列名

带有自定义聚合函数的pandas groupby()可以使用pandas连接列和行

使用pandas pd.cut生成带有statsmodels的分类变量

R中带有日期和分类变量的累计

带有 lambda 和条件的 Pandas groupby

Python Pandas groupby和分类列的最大值

在熊猫中保留列而 groupby(periodindex) df

我应该如何使用Bokeh和Pandas绘制带有分类数据的散点图?

Python Pandas groupby 和 mean/stdev 所有列合并为一列

带有多级列的Pandas Groupby

使用read_parquet从Parquet文件中带有分类列的Pandas DataFrame?

使用带有插入符号包的分类变量进行knnImpute

如何在带有颜色变量的R Plotly条形图中保留所需的顺序

Pandas:使用带有变量的 groupby 估算描述性统计数据

调用groupby和从pandas转换时如何保留列顺序?

如何使用groupby在满足多个条件的pandas数据框中保留最佳行

将所有列保留在Pandas groupby之后

来自带有分类数据和自定义“bins”的 Pandas 数据框列的直方图/值计数

GroupBy和Transform不会保留数据框的所有列

Python Pandas:使用groupby()和agg()时是否保留顺序?

在Python Pandas DataFrame中保留列顺序

使用VBA在列中保存带有数据的csv

使用数值和分类变量在 PySpark 中创建“特征”列

带有分类变量的频率计数

使用dplyr tidyr在汇总表中保留输入变量和因子水平的顺序