我有一个包含分类和数值变量的数据框架。在我的回归模型中,我想同时使用分类和数值数据。
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_LongSuper 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.27582Wii 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
回答:
看起来不错,除了在目标变量上使用.dropna()时,它可能与特征变量的大小相同也可能不同。因此,如果你想从数据中删除NaN值,你应该在开始时就这样做。
df = df.dropna(subset=['NA_Sales'])