【发布时间】:2018-12-02 03:46:54
【问题描述】:
我尝试使用 groupby(client_id 或 client_name)替换列特征计数中的 NaN 值(它是一个范围从 1 到 10 的整数), 但是 NaN 值似乎没有变化。
df['feature_count'].isnull().sum()
输出是:
2254
现在我使用:
df['feature_count'].fillna(df.groupby('client_name')['feature_count'].mean(), inplace=True)
但输出保持不变:
df['feature_count'].isnull().sum()
2254
还有其他方法可以通过按 ID 分组的列的其他非 NaN 值来替换 NaN 值吗?
【问题讨论】:
-
您使用的代码看起来是错误的,尤其是 inplace=True 部分。尝试首先获得平均值(在变量中)。当你实现这一点时,你就会填满。如果您希望我们解决这个问题,您应该根据minimal reproducible example 提供您的代码示例。
-
我有 500 个客户端 ID,这意味着我必须找到平均 500 次,这不是很多工作吗?
标签: python pandas group-by pandas-groupby fillna