这是我的工作代码:
new_df = old_df.groupby('store', as_index = False).agg({'reviewScore': 'mean'})
我想为 mean 函数添加一个参数:skipna=True
我无法弄清楚实现它的语法。
我需要学习如何使用 lambda 函数吗?
这是我的工作代码:
new_df = old_df.groupby('store', as_index = False).agg({'reviewScore': 'mean'})
我想为 mean 函数添加一个参数:skipna=True
我无法弄清楚实现它的语法。
我需要学习如何使用 lambda 函数吗?
NaN值会自动跳过。例如,如果我们有下表:
store reviewScore
0 a 4.0
1 b 3.0
2 a 3.0
3 a NaN
4 b 5.0
groupby并mean为每个组找到:
df.groupby('store', as_index = False).agg({'reviewScore': 'mean'})
相当于:
df.groupby('store', as_index = False).mean()
输出:
store reviewScore
0 a 3.5
1 b 4.0
要在聚合函数中使用参数,您可以使用lambda函数:
df.groupby('store', as_index = False).agg({'reviewScore': lambda x: x.mean(skipna=True)})
或者
df.groupby('store', as_index = False).agg(lambda x: x.mean(skipna=True))
结果应该是一样的。
内部mean()函数将忽略 NaN 值。
获得 NaN 的唯一情况是 NaN 是唯一值。然后,空集的平均值给出 NaN。
聚合函数agg的工作方式与mean().