将目标列合并回互信息特征选择后的Pandas DataFrame的正确方法
合并目标列到筛选后DataFrame的实现方法
有两种常用的正确实现方式,由于筛选后的特征矩阵df_info_gain和目标列y都继承自原始DataFrame的行索引,天然对齐,不需要额外做匹配处理:
- 方法1:直接赋值(简单便捷)
直接将y作为新列赋值给df_info_gain即可:
df_info_gain['goal'] = y
如果执行时收到
SettingWithCopyWarning警告,说明df_info_gain是原始X的视图,可以换成更安全的assign方法规避警告,该方法会返回新的DataFrame:
df_info_gain = df_info_gain.assign(goal=y)
- 方法2:concat拼接(更规范,适合多列合并场景)
沿列维度拼接筛选后的特征矩阵和目标列:
import pandas as pd df_info_gain = pd.concat([df_info_gain, y], axis=1)
内容的提问来源于stack exchange,提问作者Katty_one
相关产品推荐
相关产品推荐

