首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从dataframe中的列中选择特定值

从dataframe中的列中选择特定值
EN

Stack Overflow用户
提问于 2017-09-02 06:45:51
回答 2查看 1K关注 0票数 1

我有一个只有两列的数据集。我想根据某一栏的一些条件从其中提取一小部分。把这个当作我的数据集吧。

代码语言:javascript
复制
A    B
1    10
1    9
2    11
3    12
3    11
4    9

假设我只想从10-12提取B中有值的行。因此,我将得到一个新的数据集如下:

代码语言:javascript
复制
A    B
1    10
2    11
3    12
3    11

我试过使用df.loc[df"B“== range(10,12)],但它不起作用,有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-02 06:50:03

您可以使用.between

代码语言:javascript
复制
In [1031]: df.loc[df.B.between(10, 12)]
Out[1031]:
   A   B
0  1  10
2  2  11
3  3  12
4  3  11

或者,isin

代码语言:javascript
复制
In [1032]: df.loc[df.B.isin(range(10, 13))]
Out[1032]:
   A   B
0  1  10
2  2  11
3  3  12
4  3  11

或者,query

代码语言:javascript
复制
In [1033]: df.query('10 <= B <= 12')
Out[1033]:
   A   B
0  1  10
2  2  11
3  3  12
4  3  11

或者,很好的boolean

代码语言:javascript
复制
In [1034]: df.loc[(df.B >= 10) & (df.B <= 12)]
Out[1034]:
   A   B
0  1  10
2  2  11
3  3  12
4  3  11
票数 6
EN

Stack Overflow用户

发布于 2017-09-02 07:58:10

还有一个(不使用.loc().query())看起来更像是最初(不成功)的尝试:

代码语言:javascript
复制
df[df.B.isin(range(10,13))]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46011246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档