首页 > 解决方案 > 对唯一列值进行分组以获得熊猫数据框列中每个唯一值的平均值

问题描述

我正在尝试获取一个熊猫数据框,并从另一列中的相应值中获取一列中每个唯一值的平均值。

数据框如下所示:

Charge Code Days 
1001-000    132
1001-000    48
1001-000    12
1001-000    22
1001-000    38
1001-000    22
1001-000    36
1001-000    931
1001-000    973
1001-000    53
1001-000    69
1001-000    69
1001-000    973
1001-000    69
1001-000    69
1001-000    69
1001-000    52
1001-000    973
1001-000    87
1001-000    973
1001-000    55
1001-000    55
1001-000    55
1001-000    55
1001-000    220
1002-000    39
1002-000    28
1002-000    16
1003-000    945
1003-000    25
1003-000    41

我正在使用以下行:

df_Paid.groupby(level=0)['Charge Code'].mean()

尝试获取所需的数据框:

Charge Code Days
1001-000   244
1002-000   28
1003-000   337

这是每个收费代码的平均天数。当我使用此行时,出现以下错误:

DataError: No numeric types to aggregate

我不确定我做错了什么。

标签: pythondataframepandas-groupbymean

解决方案


试试这个,也许——

df_Paid['Days'] = df_Paid['Days'].astype(int)
df_Paid.groupby(['Charge Code'])['Days'].mean()

推荐阅读