这是用熊猫中列的平均值替换字符串的正确方法吗?
Posted
技术标签:
【中文标题】这是用熊猫中列的平均值替换字符串的正确方法吗?【英文标题】:Is this the correct way to replace a string with the mean of a column in pandas? 【发布时间】:2021-10-12 16:01:21 【问题描述】:我有这个数据框,其中在数据框的某些列中有“无”一词作为字符串。我正在尝试用列的平均值替换该字符串。这是正确的方法吗,因为它不起作用:
X["column"] = X["column"].replace(to_replace="None", value = X["column"].mean())
非常感谢!
【问题讨论】:
是“None”这个词还是pythonNone
?
我认为“None”(单词“None”作为字符串),我认为(python)None 的行为会像 NaN。
对,所以我想问题是哪一部分是问题所在。如果它是 python None,那么平均值将是正确的,但不会被替换。如果是“无”这个词,则无法计算平均值。 “它不工作”并没有提供任何信息。
【参考方案1】:
您首先需要将“None”替换为 NaN 才能计算均值。然后fillna
带有值:
df['column'] = df['column'].replace("None", float('nan'))
df['column'] = df['column'].fillna(df['column'].mean())
【讨论】:
嗨!非常感谢。这是我现在的代码,您建议的第一行有效,但由于某种原因 fillna() 无效。这是我的代码:X["cough"] = X["cough"].replace("None", float('nan')) X["cough"] = X["cough"].fillna(X["cough"].mean())
。第一次替换有效,但不幸的是 fillna() 无效。以上是关于这是用熊猫中列的平均值替换字符串的正确方法吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何用python中其他数据帧中的条目替换一个数据帧中列的丢失条目?