首页 > 解决方案 > Concat数据框不起作用

问题描述

我有两个数据框 df1 和 df2。两者都具有相同的行数但不同的列。我想连接 df1 的所有列和 df2 的第 2 列和第 3 列。

df1 有 119 列, df2 有 3 列,我想要第 2 和第 3

我正在使用的代码是:

data_train_test = pd.concat([df1,df2.iloc[:, 
[2,3]]],axis=1,ignore_index=False)

我得到的错误是

ValueError: Shape of passed values is (121, 39880), indices imply (121, 28898)

我的分析:

39880 - 28898 = 10982

df1 是 TFID 数据帧,由其他两个数据帧的 concat 组成,行数为 17916+10982 = 28898。

我是如何制作 df2 的

frames = [data, prediction_data]
df2 = pd.concat(frames)

我无法找到此问题的确切原因。有人可以帮忙吗?

标签: pythonpython-3.xpandasconcat

解决方案


我想我通过在创建 df2 时重置索引来解决它。

frames = [data, prediction_data]
df2 = pd.concat(frames).reset_index()

推荐阅读