水平连接数据框会产生意想不到的行数



我有两个数据帧。一个是df_1 -217*9大小,另一个是df_2 -217*5大小。我想把它们水平连接起来。注意,没有键列。我尝试使用以下代码

将它们连接起来
df = pd.concat([df_1, df_2], axis=1, ignore_index=True)

但是我得到的结果是256*22大小和意想不到的结果。我只需要水平连接它们。这里的问题是什么?

我认为问题是你的两个数据帧的索引不明显。通过给出ignore_index=True而有axis=1,它只会忽略列索引,而不是行索引。

你可以尝试在连接时重置索引,像这样:

pd.concat([df_1.reset_index().drop("index", axis=1), df_2.reset_index().drop("index", axis=1)], axis=1)

编辑:我已经看到,你在我上次编辑之前接受了答案。但是,我的第一个解决方案仍然存在一个问题:将ignore_index=True设置为True会导致额外的列,而将其设置为False时,会多次包含索引列。我稍微修改了一下代码,删除了这些新的索引列。这可能不是最好的解决方案,但我认为它有效。

最新更新