你可以简单地使用DataFrame.fillna来直接填充nan的值:
In [27]: df Out[27]: ABC 0 -0.166919 0.979728 -0.632955 1 -0.297953 -0.912674 -1.365463 2 -0.120211 -0.540679 -0.680481 3 NaN -2.027325 1.533582 4 NaN NaN 0.461821 5 -0.788073 NaN NaN 6 -0.916080 -0.612343 NaN 7 -0.887858 1.033826 NaN 8 1.948430 1.025011 -2.982224 9 0.019698 -0.795876 -0.046431 In [28]: df.mean() Out[28]: A -0.151121 B -0.231291 C -0.530307 dtype: float64 In [29]: df.fillna(df.mean()) Out[29]: ABC 0 -0.166919 0.979728 -0.632955 1 -0.297953 -0.912674 -1.365463 2 -0.120211 -0.540679 -0.680481 3 -0.151121 -2.027325 1.533582 4 -0.151121 -0.231291 0.461821 5 -0.788073 -0.231291 -0.530307 6 -0.916080 -0.612343 -0.530307 7 -0.887858 1.033826 -0.530307 8 1.948430 1.025011 -2.982224 9 0.019698 -0.795876 -0.046431
fillna的docstring说, value应该是一个标量或字典,但是它似乎与一个Series工作。 如果你想传递一个字典,你可以使用df.mean().to_dict() 。
尝试:
sub2[‘income’].fillna((s
Original: https://blog.csdn.net/weixin_30676635/article/details/112937199
Author: Virtus Yang
Title: pandas用均值填充nan_大pandasDataFrame:用列的平均值replacenan值
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/676091/
转载文章受原作者版权保护。转载请注明原作者出处!