在我的项目中,我用一个空的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 |
+---------------