python - Pandas agg 根据数据类型定义指标

标签 python pandas aggregate

对于pandas agg,有没有办法根据数据类型指定聚合函数?例如,对象类型的所有列都获得“第一”,所有 float 获得“平均值”,等等?以避免必须输入所有列及其各自的聚合函数。

示例数据:

import seaborn as sns
iris = sns.load_dataset('iris')

所需代码:

iris.agg({"object":"first", "float":"mean"})

最佳答案

我会这样做:

import seaborn as sns
iris = sns.load_dataset('iris')

agg_method = {'float64': 'mean', 'object':  'count'}

iris.agg({k: agg_method[str(v)] for k, v in iris.dtypes.items()})

返回:

sepal_length      5.843333
sepal_width       3.057333
petal_length      3.758000
petal_width       1.199333
species         150.000000
dtype: float64

关于python - Pandas agg 根据数据类型定义指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70364384/

相关文章:

python - 如何使用pyinstaller将多个子进程python文件编译成单个.exe文件

Python 没有提取预期的模式

python - 使用 python pvlib 库时出现 SSL 证书错误

Python Flask 用逗号分割表单中的文本

python - skimage.measure.regionprops 标签对应的测量值?

sql - 如何为每一行编写一个在日期时间加入的 SQL 查询

sql-server - SQL Server 2005 中的平均时间值

python - python中的滚动数据透视表

python - 删除除第一列以外的多个同名列?

python - 使用 pandas,如何对 bool 列为 true 的情况进行分组/聚合求和?