如何仅修改Python中的数值变量

我想仅修改数据框中的数值变量,即通过中位数填补数值变量的缺失值,通过众数填补因子变量的缺失值。为了仅修改数值变量,我尝试了以下方法:

xTrain.select_dtypes(include=numerics) =  xTrain.select_dtypes(include=numerics).fillna(xTrain.mean(), inplace=True)

但它显示:

SyntaxError: can’t assign to function call

事实上,这个解决方案确实有效,但我对此并不满意,因为它不涉及赋值操作(’=’)。此外,这是一个“私有方法”(即实现细节),未来可能会更改或完全删除。在此答案中建议谨慎使用:

xTrain._get_numeric_data().fillna(xTrain.mean(), inplace=True)

我在想是否有其他方法可以仅选择数值列并在整个数据中进行填补,意思是仅修改数据框的一部分?提前感谢!


回答:

您可以使用DataFrame.select_dtypes获取所有列,这样赋值操作会很顺利:

xTrain = pd.DataFrame({'address':['a', 'b', 'c'],'b':[1,2, np.nan]})print (xTrain)  address    b0       a  1.01       b  2.02       c  NaNcols = xTrain.select_dtypes(include=np.number).columnsxTrain[cols] = xTrain[cols].fillna(xTrain.mean())print (xTrain)  address    b0       a  1.01       b  2.02       c  1.5

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注