我正在使用 scikit 库迈出第一步,发现自己仅需要回填数据框中的一些列。
我仔细阅读了 documentation但我仍然不知道如何实现这一目标。
为了更具体,假设我有:
A = [[7,2,3],[4,np.nan,6],[10,5,np.nan]]
而且我想用平均值填充第二列,但不是第三列。我如何使用 SimpleImputer(或其他辅助类)做到这一点?
由此演变而来的自然后续问题是:如何用平均值填充第二列,用常数填充最后一列(显然,仅适用于没有值开头的单元格)?
无需使用SimpleImputer。
DataFrame.fillna()
也可以完成这项工作
对于第二列,使用
column.fillna(column.mean(), inplace=True)
对于第三列,使用
column.fillna(constant, inplace=True)
当然,您需要将 column
替换为您要更改的 DataFrame 的列,并将 constant
替换为您想要的常量。
编辑
由于不鼓励使用 inplace
并将被弃用,因此语法应该是
column = column.fillna(column.mean())
我是一名优秀的程序员,十分优秀!