使用值列表从pandas数据框中选择行

使用值列表从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]


郎朗坤
浏览 515回答 3
3回答

回首忆惘然

这确实是如何通过“within”/“in”过滤pandas的数据帧行的重复?,将响应翻译成你的例子给出:In [5]: df = DataFrame({'A' : [5,6,3,4], 'B' : [1,2,3, 5]})In [6]: dfOut[6]:   A  B0  5  11  6  22  3  33  4  5In [7]: df[df['A'].isin([3, 6])]Out[7]:   A  B1  6  22  3  3

料青山看我应如是

您也可以使用'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

您将如何按列表的顺序返回这些值?例如,list_of_values值为3然后是6,但帧返回6然后3.我不是在谈论一个简单的排序,而是我们如何具体地按照列表中的值的顺序返回
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python