我有两个 Dataframe ,每个 Dataframe 的列数相同:
print(df1.shape)
(54, 35238)
print(df2.shape)
(64, 35238)
而且两者都没有任何索引集
print(df1.index.name)
None
print(df2.index.name)
None
然而,每当我试图垂直地连接它们时(这样就有了第三个带有shape(118,35238)的 Dataframe ),它就会产生一个带有NaNs的新df:
df3 = pandas.concat([df1, df2], ignore_index=True)
print(df3)
生成的df具有正确的行数,但它决定将它们作为新列进行连接。使用“axis”标志设置为1会导致相同数量的(不适当的)列(例如,形状为(63,70476))。
有什么办法解决这个问题吗?
2条答案
按热度按时间vlju58qv1#
它们有相同的列数,但是列名不同吗?关于
concat
的文档向我建议,您需要相同的列名才能让它们按照您希望的方式堆叠。如果这是问题所在,您可能可以通过在连接之前更改一个 Dataframe 的列名以匹配另一个来解决它:
envsm3lx2#
这可能是因为您的df2是一个系列,您可以尝试:
pd.concat([df1, pd.DataFrame([df2])], axis=0, ignore_index=True)