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)