python – 在大熊猫中合并多索引的单索引数据帧
发布时间:2020-12-16 23:27:11 所属栏目:Python 来源:网络整理
导读:我有两个数据框. df1是多索引的: valuefirst second a x 0.471780 y 0.774908 z 0.563634b x -0.353756 y 0.368062 z -1.721840 和df2: valuefirst a 10b 20 如何将两个数据帧与仅一个多重索引合并,在这种情况下是“第一”索引?所需的输出将是: value1 v
我有两个数据框. df1是多索引的:
value first second a x 0.471780 y 0.774908 z 0.563634 b x -0.353756 y 0.368062 z -1.721840 和df2: value first a 10 b 20 如何将两个数据帧与仅一个多重索引合并,在这种情况下是“第一”索引?所需的输出将是: value1 value2 first second a x 0.471780 10 y 0.774908 10 z 0.563634 10 b x -0.353756 20 y 0.368062 20 z -1.721840 20 解决方法
你可以使用
get_level_values :
firsts = df1.index.get_level_values('first') df1['value2'] = df2.ix[firsts].values 注意:你几乎在这里做一个 . 在一个例子中(类似于你所拥有的): df1 = pd.DataFrame([['a','x',0.123],['a',0.234],'y',0.451],['b',0.453]],columns=['first','second','value1'] ).set_index(['first','second']) df2 = pd.DataFrame([['a',10],20]],'value']).set_index(['first']) firsts = df1.index.get_level_values('first') df1['value2'] = df2.ix[firsts].values In [5]: df1 Out[5]: value1 value2 first second a x 0.123 10 x 0.234 10 y 0.451 10 b x 0.453 20 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |