假设我有两个共享相同索引的数据框df1和df2。df1按我希望df2进行排序的顺序进行排序。
df=pd.DataFrame(index=['Arizona','New Mexico', 'Colorado'],columns=['A','B','C'], data=[[1,2,3],[4,5,6],[7,8,9]])
print df
A B C
Arizona 1 2 3
New Mexico 4 5 6
Colorado 7 8 9
df2=pd.DataFrame(index=['Arizona','Colorado', 'New Mexico'], columns=['D'], data=['Orange','Blue','Green'])
print df2
D
Arizona Orange
Colorado Blue
New Mexico Green
按第一个索引对第二个数据帧进行排序的最佳/最有效方法是什么?
一种选择是将它们连接起来,进行排序,然后删除列:
df.join(df2)[['D']]
D
Arizona Orange
New Mexico Green
Colorado Blue
有没有更优雅的方式做到这一点?
谢谢!
reindex
会起作用-请注意,它将为df而不是df2中的索引值创建缺失值。
In [18]: df2.reindex(df.index)
Out[18]:
D
Arizona Orange
New Mexico Green
Colorado Blue
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句