如何在pandas中选择具有多个值的多行
我有一个数据框和一个列表,如下所示如何在pandas中选择具有多个值的多行,pandas,Pandas,我有一个数据框和一个列表,如下所示 id title description 0 17810732 "nn nn." "nnnn nnnn" 1 17810731 "mm mm." "mmmm mmmm" 2 17810739 "ll ll." "llll llll" 3 17810738 "jj jj." "jjjj jjjj" ids = [17810738, 17810731] id title
id title description
0 17810732 "nn nn." "nnnn nnnn"
1 17810731 "mm mm." "mmmm mmmm"
2 17810739 "ll ll." "llll llll"
3 17810738 "jj jj." "jjjj jjjj"
ids = [17810738, 17810731]
id title description
0 17810738 "jj jj." "jjjj jjjj"
1 17810731 "mm mm." "mmmm mmmm"
我想得到一个数据帧,它只包含与ids
列表对应的行
所以我的输出应该如下
id title description
0 17810732 "nn nn." "nnnn nnnn"
1 17810731 "mm mm." "mmmm mmmm"
2 17810739 "ll ll." "llll llll"
3 17810738 "jj jj." "jjjj jjjj"
ids = [17810738, 17810731]
id title description
0 17810738 "jj jj." "jjjj jjjj"
1 17810731 "mm mm." "mmmm mmmm"
我一直在使用这个代码
for id in ids:
print(df.loc[df["id"] == id])
但是,它只向每个id返回单独的数据帧,这不是我需要的
如果需要,我很乐意提供更多详细信息。解决方案采用
isin
方法,因此
df[df['id'].isin(ids)]
会成功的。df[df.id.isin(ids)]有效