Pandasconcat添加为列与nans?

j8ag8udp  于 2023-02-17  发布在  其他
关注(0)|答案(2)|浏览(140)

我有两个 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))。
有什么办法解决这个问题吗?

vlju58qv

vlju58qv1#

它们有相同的列数,但是列名不同吗?关于concat的文档向我建议,您需要相同的列名才能让它们按照您希望的方式堆叠。
如果这是问题所在,您可能可以通过在连接之前更改一个 Dataframe 的列名以匹配另一个来解决它:

df2.columns = df1.columns
envsm3lx

envsm3lx2#

这可能是因为您的df2是一个系列,您可以尝试:pd.concat([df1, pd.DataFrame([df2])], axis=0, ignore_index=True)

相关问题