这是使用pd.get_dummies的正确方法吗?

时间:2018-04-25 19:28:36

标签: python-3.x machine-learning

我有一个包含分类和数字变量的数据框。在我的回归模型中,我想使用我的分类和数字数据。

df_w_dummies = pd.get_dummies(df, columns =['Publisher','Platform','Genre','Publisher_Country','Publisher_Continent'],
                            drop_first = True)
features_dummies = df_w_dummies.loc[:, df_w_dummies.columns != 'NA_Sales']
target_dummies = df_w_dummies.loc[:,'NA_Sales'].dropna()

我也试图通过将'drop_first'关键字添加为True来避免多重共线性。

任何建议/意见将不胜感激!

这不是很漂亮......但这里有一些数据的例子。

Name    Platform    Publisher   Chartz_Score    User_Score  Critic_Score    Global_Sales    NA_Sales    EU_Sales    JP_Sales    Other_Sales Year_of_Release Genre   Year    Total_Tweets    Publisher_Country   Publisher_Continent Publisher_Lat   Publisher_Long
Super Mario Bros.   Nintendo    Nintendo EAD    NaN 10.0    NaN 60.312336   89.184016   16.740672   53.505894   0.77    1985-10-18  Platform    1985.0  NaN MX  North America   14.88102    -92.27582
Wii Sports Resort   Nintendo    Nintendo EAD    8.8 8.0 8.8 49.311030   47.873538   51.344296   25.849397   3.02    2009-07-26  Sports  2009.0  296.0   GB  Europe  14.88102    -92.27582

1 个答案:

答案 0 :(得分:1)

看起来不错,除非你在目标变量中使用.dropna()它可能/可能与特征变量的大小不同。因此,如果你想在数据中删除NaN值,你应该在开头做。

df = df.dropna(subset=['NA_Sales'])