我有一个数据框,其中有两列分别称为id
和value
,还有一个名为value_list
的列表,其中包含浮点数。数据框如下所示:
id value
0 8 1.0
1 7 2.0
2 6 5.0
3 4 4.0
和value_list
看起来像这样:
[5,5,4,2,1]
问题::如何基于数据框创建一个列表,其中包含与value_list
中的值相对应的ID?也就是说,我要列出以下列表:
[6,6,4,7,8]
答案 0 :(得分:1)
将set_index
与Series.loc
一起使用:
L = df.set_index('value')['id'].loc[value_list].tolist()
print (L)
[6, 6, 4, 7, 8]
在可能的情况下,value_list
列中某些value
的值与intersect1d
的交集不存在L = df.set_index('value')['id'].loc[np.intersect1d(value_list, df['value'])].tolist()
:
public function view_posts(){
$user = User::find(6999);
event(new TestNotification($user));
return $user;
}