我有两个数据帧。一个是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时,会多次包含索引列。我稍微修改了一下代码,删除了这些新的索引列。这可能不是最好的解决方案,但我认为它有效。