为什么连接两个数据帧时样本大小不同?

why sample's size is difference when concatenate two dataframe?

我分别转换了训练集和测试集以获得具有 pandas.get_dummies() 的分类特征的虚拟对象。
所以出现维度差异是因为训练集和测试集的类别差异。
我试着均衡维度。
但是出现了下面的问题。
为什么连接两个数据帧时样本大小不同?

我认为 X_train.index 中没有默认 RangeIndex,因此需要在 concat 之前创建它:

X_train = X_train.reset_index(drop=True)

另一个解决方案是为两个 DataFrame 中的相同索引添加参数 index:

diff_df2 = pd.Dataframe(np.zeros((X_train.shape[0], len(diff_dummy2))), 
                        columns=diff_dummy2,
                        index= X_train.index)