基于具有多索引的其他数据框重新索引

时间:2019-02-27 15:41:59

标签: dataframe multi-index reindex

我有以下两个数据框:

df1 = pd.DataFrame(data={
'scenario': ['0', '0', '0'],
'country': ['A', 'B', 'C'],
'state' : [  'A.1',   'B.1',   'C.1'],
2000 : [ 1,  1,   1]  ,
2005 : [ 2,  2,   2],
2010 : [ 5,  1,  3]
}).set_index(['scenario', 'country', 'state'])

df2 = pd.DataFrame(data={
'scenario': ['Low', 'Medium', 'High', 'Low', 'Medium', 'High', 'Low', 
'Medium', 'High'],
'country': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'state' : [  'A.1',   'A.1',   'A.1', 'B.1', 'B.1', 'B.1', 'C.1', 'C.1', 
'C.1'],
2000 : [ 5,  13,   1, 5,  13,   1, 5,  13,   1]  ,
2005 : [ 5,  11,   0, 5,  13,   1, 5,  13,   1],
2010 : [ 5,  15,   13, 5,  13,   1, 5,  13,   1],
}).set_index(['scenario', 'country', 'state'])

我想在df1的列场景中归因于df2中报告的场景并获取df3

df3 = pd.DataFrame(data={
'scenario': ['Low', 'Medium', 'High', 'Low', 'Medium', 'High', 'Low', 
'Medium', 'High'],
'country': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'state' : [  'A.1',   'A.1',   'A.1', 'B.1', 'B.1', 'B.1', 'C.1', 'C.1', 
'C.1'],
2000 : [ 1,  1,  1, 1,  1,  1, 1,  1,  1]  ,
2005 : [ 2,  2,  2, 2,  2,  2, 2,  2,  2],
2010 : [ 5,  1,  3, 5,  1,  3, 5,  1,  3]
}).set_index(['scenario', 'country', 'state'])

0 个答案:

没有答案