如何将虚拟变量添加到Pandas DataFrame?

我有一个名为data_df的数据框,看起来像这样:

   price vehicleType  yearOfRegistration    gearbox  powerPS  model  kilometer fuelType       brand notRepairedDamage  postalCode0  18300       coupe                2011    manuell      190    NaN     125000   diesel        audi                ja       669541   9800         suv                2004  automatik      163  grand     125000   diesel        jeep               NaN       904802   1500  kleinwagen                2001    manuell       75   golf     150000   benzin  volkswagen              nein       910743   3600  kleinwagen                2008    manuell       69  fabia      90000   diesel       skoda              nein       604374    650   limousine                1995    manuell      102    3er     150000   benzin         bmw                ja       33775

尝试将分类列(如vehicleType)转换为虚拟变量(“独热编码”):

columns = [ 'vehicleType' ] #, 'gearbox', 'model', 'fuelType', 'brand', 'notRepairedDamage' ]for column in columns:  dummies = pd.get_dummies(data_df[column], prefix=column)  data_df.drop(columns=[column], inplace=True)  data_df = data_df.add(dummies, axis='columns')

但原始数据丢失了:

  brand fuelType gearbox  kilometer model notRepairedDamage  ...  vehicleType_coupe  vehicleType_kleinwagen  vehicleType_kombi  vehicleType_limousine  vehicleType_suv  yearOfRegistration0   NaN      NaN     NaN        NaN   NaN               NaN  ...                NaN                     NaN                NaN                    NaN              NaN                 NaN1   NaN      NaN     NaN        NaN   NaN               NaN  ...                NaN                     NaN                NaN                    NaN              NaN                 NaN2   NaN      NaN     NaN        NaN   NaN               NaN  ...                NaN                     NaN                NaN                    NaN              NaN                 NaN3   NaN      NaN     NaN        NaN   NaN               NaN  ...                NaN                     NaN                NaN                    NaN              NaN                 NaN4   NaN      NaN     NaN        NaN   NaN               NaN  ...                NaN                     NaN                NaN                    NaN              NaN                 NaN

那么,如何用虚拟变量替换给定的列呢?


回答:

# 获取'vehicleType'列的独热编码one_hot = pd.get_dummies(data_df['vehicleType'])# 删除已编码的列data_df = data_df.drop('vehicleType',axis = 1)# 连接编码后的数据框data_df = data_df.join(one_hot)data_df 

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中创建了一个多类分类项目。该项目可以对…

发表回复

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