pandas中concat函数下合并列重复

今天想把不同长度的DataFrames上下合并起来,结果发现短的一行DataFrame在缺省处也有了数据,不是NaN,而且这部分数据和仅有的那部分一模一样。单步运行调试观察,发现是由于列索引columns没有设置好造成的。我要存的数据是许多方阵,其中第一大行有2个方阵,第二大行有1个方阵。对第一大行第1个方阵列索引命名为['q1', ' ', ' ', ...](方阵阶数为n,则希望第一个索引为q1,之后的n-1个都为空格,后同),对第一大行第2个方阵列索引命名为['q2', ' ', ' ', ...];对第二大行第1个(也是唯一一个)方阵列索引命名为['q1', ' ', ' ', ...]。则在用concat进行上下合并时,由于第二大行中的空格部分索引和第一大行的第2个方阵列索引空格部分相同,所以在把第二大行方阵加到第一大行第1个方阵底下的同时,也会把这部分加到第一大行第2方阵底下,使第二大行里会有2大块相同的数据。

解决:对列索引进行更详细的命名,如第一大行第1个方阵列索引命名为['q1, 1', 'q1, 2 ', ' q1, 3', ...],第一大行第2个方阵列索引命名为['q2, 1', 'q2, 2 ', ' q2, 3', ...],这样就可以对应着合并了,没有数据的地方用NaN补充。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值