为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

郎朗坤 2019-08-23 14:49:13
使用值列表从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


查看完整回答
反对 回复 2019-08-23
?
料青山看我应如是

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

查看完整回答
反对 回复 2019-08-23
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您将如何按列表的顺序返回这些值?例如,list_of_values值为3然后是6,但帧返回6然后3.我不是在谈论一个简单的排序,而是我们如何具体地按照列表中的值的顺序返回

查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 514 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信