python - pandas concat 添加为带有 nans 的列?
问题描述
我有两个数据框,每个都有相同的列数:
print(df1.shape)
(54, 35238)
print(df2.shape)
(64, 35238)
并且两者都没有任何索引集
print(df1.index.name)
None
print(df2.index.name)
None
但是,每当我尝试垂直连接它们时(以便拥有第三个形状为 (118, 35238) 的数据框),它会生成一个带有 NaN 的新 df:
df3 = pandas.concat([df1, df2], ignore_index=True)
print(df3)
结果 df 具有正确的行数,但它决定将它们连接为新列。使用设置为 1 的“轴”标志会导致相同数量的(不适当的)列(例如 (63, 70476) 的形状)。
有想法该怎么解决这个吗?
解决方案
它们的列数相同,但列名不同吗?上的文档concat
向我建议您需要相同的列名才能让它们以您想要的方式堆叠。
如果这是问题所在,您可以通过在连接之前更改一个数据框的列名以匹配另一个来解决它:
df2.columns = df1.columns
推荐阅读
- git - 工作树中的 diff 文件与远程跟踪分支中的文件
- typescript - 如何将 ImmutableJS 映射与 TypeScript 一起使用
- android - ViewModel、LiveData 和 Transformations.map
- azure - 如何为 Azure 存储过程提供分区键
- ruby-on-rails - 是否可以在 Heroku 上进行相互 ssl 身份验证?
- c++ - 在另一个类中调用一个类函数(无效使用非静态成员函数)
- angular - 带有授权标头的 Angular/Ionic CORS 错误
- android - android从图像列表视图中的url读取位图
- chai - chai 断言库是否在通过/失败的步骤中返回真/假?
- python - paypal下载账户活动记录