Python中fillna()函数输出‘None’问题求助
问题原因
你看到输出None是因为当fillna()方法使用inplace=True参数时,它会直接在原DataFrame上修改数据,不会返回任何新对象,所以方法的返回值就是None。
解决办法
有两种方式可以得到正确的输出:
方式1:移除inplace=True,将填充后的结果赋值给变量再打印
median_val = housing["Mas Vnr Area"].median() filled_col = housing["Mas Vnr Area"].fillna(median_val) print(filled_col)
这种方式不会修改原housing DataFrame,而是返回一个填充好缺失值的新Series,打印这个新对象就能看到正确数据。
方式2:先执行原地填充,再单独打印目标列
median_val = housing["Mas Vnr Area"].median() housing["Mas Vnr Area"].fillna(median_val, inplace=True) print(housing["Mas Vnr Area"])
这里先通过inplace=True修改原DataFrame的列,之后直接打印该列就能看到填充后的结果,不需要打印fillna()的返回值。
内容的提问来源于stack exchange,提问作者rxz29
相关产品推荐
相关产品推荐

