使用值列表从pandas数据框中选择行假设我有以下pandas数据帧:df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})df
A B0 5 11 6 22 3 33 4 5我可以根据特定值进行子集化:x = df[df['A'] == 3]x
A B2 3 3但是我如何根据值列表进行子集化? - 这样的事情:list_of_values = [3,6]y = df[df['A'] in list_of_values]
3 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
这确实是如何通过“within”/“in”过滤pandas的数据帧行的重复?,将响应翻译成你的例子给出:
In [5]: df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})
In [6]: df
Out[6]:
A B
0 5 1
1 6 2
2 3 3
3 4 5
In [7]: df[df['A'].isin([3, 6])]
Out[7]:
A B
1 6 2
2 3 3

料青山看我应如是
TA贡献1772条经验 获得超8个赞
您也可以使用'query'和@ <您的值列表>来获得类似的结果:例如:df = pd.DataFrame({'A':[1,2,3],'B':['a', 'b','f']})df = pd.DataFrame({'A':[5,6,3,4],'B':[1,2,3,5]})list_of_values = [3 ,6]结果= df.query(“A in @list_of_values”)结果AB 1 6 2 2 3 3

慕盖茨4494581
TA贡献1850条经验 获得超11个赞
您将如何按列表的顺序返回这些值?例如,list_of_values
值为3然后是6,但帧返回6然后3.我不是在谈论一个简单的排序,而是我们如何具体地按照列表中的值的顺序返回
添加回答
举报
0/150
提交
取消