不同大小但列中没有差异的数据框

Dataframe of different size but no difference in columns

我正在实现 XG Boost 模型。我在具有 91 列的数据帧上进行了训练测试拆分。我想在一个新的数据框上使用我的模型,该数据框的列与我的训练集不同。我删除了多余的列并添加了火车数据集中存在的列,而不是新列。

但是,我无法使用这些模型,因为新集合的列数不同,但是当我计算列差异列表时,该列表为空。

您知道我该如何解决这个问题吗?

提前感谢您的宝贵时间!

你可以这样试:

import pandas as pd

X_PAU = pd.DataFrame({'test1': ['A', 'A'], 'test2': [0, 0]})
print(len( X_PAU.columns ))
X = pd.DataFrame({'test1': ['A', 'A']})
print(len( X.columns ))

# Your implimentation
print(set(X.columns) - set(X_PAU.columns)) #This should be empty set

#
print(X_PAU.columns.difference(X.columns).tolist()) # this will print the missing column name
print(len(X_PAU.columns.difference(X.columns).tolist())) # this will print the difference number

输出:

2
1
set()
['test2']
1