具有NaN值的Python Pandas .groupby()。mean()

时间:2018-07-10 10:28:33

标签: python pandas dataframe

我想在此DataFrame上使用.groupby()。mean(),但是,它没有忽略NaN值。

这是我的DataFrame的图片

City_Zhvi_AllHomes

'Quarters'是我的最后一行,因此我进行转置以使其成为最后一列,并按'Quarters'分组,然后对所有县执行.mean()。我希望将新的DataFrame存储在一个新变量中,列索引作为县名称,行索引作为'Quarters',每个单元格是3个单元格的平均值,这3个单元格与前一个DataFrame共享相同的County和'Quarters'。

我这样做:

ANSWER = City_Zhvi_AllHomes.T.groupby('Quarters').mean().T

但是我得到了

DataError:没有要聚合的数字类型

如果在.groupby()之前执行.fillna(0),它将起作用,这是该图片(除非我再次换行和换行)

answer

但是我不能这样做,因为它将影响均值的结果。那么,我该如何告诉.mean()忽略NaN?

1 个答案:

答案 0 :(得分:0)

您可以对mean()使用 skipna 参数。

ANSWER = City_Zhvi_AllHomes.T.groupby('Quarters').mean(skipna=True).T

这将为您提供可用值的平均值。