Python 对唯一列值进行分组,以获得dataframe列中每个唯一值的平均值

Python 对唯一列值进行分组,以获得dataframe列中每个唯一值的平均值,python,dataframe,pandas-groupby,mean,Python,Dataframe,Pandas Groupby,Mean,我试图获取一个数据帧,并从另一列中相应的值中获得一列中每个唯一值的平均值 数据帧如下所示: 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 100

我试图获取一个数据帧,并从另一列中相应的值中获得一列中每个唯一值的平均值

数据帧如下所示:

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
我不确定我做错了什么

使用
df_Paid.groupby('Charge code')['days'].mean()
你应该很好。 下面是使用groupby()的一个很好的参考: 在那里查找层次索引。

使用
df_Paid.groupby('Charge code')['days'].mean()
你应该很好。 下面是使用groupby()的一个很好的参考: 在那里查找层次索引。

试试这个,也许-

df_Paid['Days'] = df_Paid['Days'].astype(int)
df_Paid.groupby(['Charge Code'])['Days'].mean()
试试这个,也许-

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

尝试df_Paid.groupby('Charge Code')['Days'].mean()尝试df_Paid.groupby('Charge Code').mean()。它返回相同的错误。尝试df_Paid.groupby('Days'])。mean()尝试df_Paid.groupby('Charge Code').mean()。它返回相同的错误。将数据类型更改为int64-df_Paid['Days']=df Paid['Days'.astype(int)或者
将numpy导入为np-df-u-Paid['Days']=df-u-Paid['Days'].astype(np.int64)
将数据类型更改为int64-df-u-Paid['Days']=df-u-Paid['Days'].astype(int)或
将numpy导入为np-df-u-Paid['Days']=df-u-Paid['Days'.astype(np.int64)