我只想修改数据框中的数字变量,即按中位数估算数字变量的缺失值,按模式估算因子变量的缺失值。要仅修改数字变量,我尝试了以下操作:
xTrain.select_dtypes(include=numerics) = xTrain.select_dtypes(include=numerics).fillna(xTrain.mean(), inplace=True)
但它说:
SyntaxError:无法分配给函数调用
事实上,这个解决方案很有效,但我对它不满意,因为它不涉及赋值操作('=')。此外,这是一种“私有方法”(即实现细节),将来可能会发生变化或完全删除。建议通过此处的回答谨慎使用:
xTrain._get_numeric_data().fillna(xTrain.mean(), inplace=True)
是否在考虑是否有其他方法可以仅选择数字列并将它们归入整个数据,这意味着仅修改数据框的一部分?提前致谢!