我有一个值列表。我有一个数据框,其中一列包含相同的值。如何订购数据框以同样的方式列出订单?
列表示例:
[3,
4,
...
21,
23,
25,
26]
数据框示例:
0 1 2
0 ND 3 0/1
1 ND 4 0/1
...
11 ND 21 0/1
12 ND 23 0/1
13 ND 25 0/1
14 ND 26 0/1
我需要确保根据列表对表进行排序。我需要匹配的列是数据框中的第1列。
编辑:用排序替换排序,因为排序词可能具有误导性
答案 0 :(得分:4)
您可以根据列表创建数据框,并与数据框合并
a = [3,4,1]
df_a = pd.DataFrame({'VAL2' : a})
df_b = pd.DataFrame({'VAL1' :[0,1,2,3,4,5,6]})
pd.merge(df_a, df_b,left_on='VAL2',right_on='VAL1',how='outer')
答案 1 :(得分:0)
也许这个:
df['order'] = df[1].apply(lambda v: l.index(v))
df_you_wanted = df.sort('order')[[0,1,2]]
这里是你的清单,df是你的数据框。