使用fillna替换age列NaN为均值时触发RecursionError求助
问题解决方法
错误根源:你在调用
fillna时,传递的是df['age'].mean(方法对象),而不是df['age'].mean()(方法执行后的均值结果)。fillna在处理时会反复尝试解析这个方法对象,引发无限递归,最终触发RecursionError。这个问题和数据行数无关,提高递归限制也解决不了本质问题。修正后的代码:
import matplotlib.pyplot as plt import seaborn import pandas as pd # 路径中的反斜杠需转义,或使用原始字符串前缀r df = pd.read_csv('C:\\Users\\Fehmi Laourine\\Downloads\\aa.csv', encoding='ISO-8859-1') # 调用mean()方法获取均值后传入fillna df['age'].fillna(df['age'].mean(), inplace=True) print(df)
- 额外提示:Python字符串里的反斜杠
\是转义字符,处理文件路径时,要么写成双反斜杠\\,要么给路径字符串加r前缀(原始字符串),避免路径解析出错。
内容的提问来源于stack exchange,提问作者Yassine
相关产品推荐
相关产品推荐

