如何获取具有与另一个序列的相同序列匹配的列值的行

时间:2017-08-25 08:02:41

标签: python pandas

例如,有一个DataFrame df。我想根据序列s对行进行排序,以获得df_target。实现这一目的的正确方法是什么?

import pandas as pd
df = pd.DataFrame({'a': [3,4,2,5], 'b':['apple', 'orange', 'pear', 
'grape']})

s = [4,5,2,3]
df_target = pd.DataFrame({'a': [4,5,2,3], 'b':['orange', 'grape', 
'pear', 'apple']})

1 个答案:

答案 0 :(得分:2)

您可以暂时将索引设置为a,然后使用列表进行索引:

In[209]:
df.set_index('a').loc[s].reset_index()
Out[209]: 
   a       b
0  4  orange
1  5   grape
2  2    pear
3  3   apple