python 合并dataframe有多条key对应只保留_如果在python中合并两个panda数据帧,如何保留多级列?...

当在Python中使用pandas合并两个带有多级列的数据帧时,原始的多级列会被转换为单级列。本文通过一个最小可行示例(MWE)展示问题,并提出如何在合并过程中保持多级列的结构。使用`pd.merge`时,设置正确的索引和参数可以确保多级列的完整性。
摘要由CSDN通过智能技术生成

在我的项目中,我用一个空的pandas数据帧初始化一个对象。在这个对象的一个方法中,我创建了另一个带有多级列的数据帧。另外,我将第二个dataframe与空dataframe合并,我希望合并后的dataframe也有一个多级列,但是多级列被转换成一个具有我的levels元组的单级列。那么如何在新的数据帧中保留多级列呢?在

一个最小的有效例子:

import pandas as pd

tuples = [(u'obs', u'TMP2m')]

col = pd.MultiIndex.from_tuples(tuples, names=['product', 'variable'])

data = pd.DataFrame()

data1 = pd.DataFrame([1,2,3],columns = col)

data = pd.merge(data, data1, left_index=True, right_index=True, how='outer')

print data

我得到这个输出:

^{pr2}$

但我期待这样的结果:+------------------+

| product | obs |

+------------------+

| variable | TMP2m |

+------------------+

| 0 | 1 |

| 1 | 2 |

| 2 | 3 |

+---------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值