我有一个大概用实数填充的pandas DataFrame,但它中也有一些 nan
值 .
如何用列的平均值替换 nan
?
这个问题与这个问题非常类似:numpy array: replace nan values with average of columns但不幸的是,那里给出的解决方案对于pandas DataFrame不起作用 .
我有一个大概用实数填充的pandas DataFrame,但它中也有一些 nan
值 .
如何用列的平均值替换 nan
?
这个问题与这个问题非常类似:numpy array: replace nan values with average of columns但不幸的是,那里给出的解决方案对于pandas DataFrame不起作用 .
7 回答
除上述选择外,另一个选择是:
它比以前的均值响应更不优雅,但如果你想用其他列函数替换空值,它可能会更短 .
您可以直接使用DataFrame.fillna填充
nan
:fillna
的文档字符串表示value
应该是标量或字典,但是,它似乎也适用于Series
. 如果你想传递一个字典,你可以使用df.mean().to_dict()
.尝试:
每列应用该列的平均值并填充
如果你想用平均值来估算缺失值并且你想逐列,那么这只会用该列的平均值来估算 . 这可能更具可读性 .
直接使用
df.fillna(df.mean())
用均值填充所有空值如果要使用该列的平均值填充空值,则可以使用此值
假设
x=df['Item_Weight']
这里Item_Weight
是列名这里我们分配(将x的空值填充到x的x的平均值)
如果要使用某些字符串填充空值,请使用
这里
Outlet_size
是列名