首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据帧中分隔特定值

在数据帧中分隔特定值
EN

Stack Overflow用户
提问于 2017-05-28 23:11:31
回答 3查看 51关注 0票数 4

我有一个很大的数据集。我正在尝试用Pandas Dataframe来读取它。我想从其中一列中分离出一些值。假设列名为"A",则取值范围为90到300。我想分隔270到280之间的任何值。我确实尝试了下面的代码,但它是错误的!

代码语言:javascript
复制
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('....csv')
df2 = df[ 270 < df['A'] < 280]
EN

回答 3

Stack Overflow用户

发布于 2017-05-28 23:12:37

boolean indexing中使用between

代码语言:javascript
复制
df = pd.DataFrame({'A':range(90,300)})

df2 = df[df['A'].between(270,280, inclusive=False)]
print (df2)
      A
181  271
182  272
183  273
184  274
185  275
186  276
187  277
188  278
189  279

或者:

代码语言:javascript
复制
df2 = df[(df['A'] > 270) & (df['A'] < 280)]
print (df2)
      A
181  271
182  272
183  273
184  274
185  275
186  276
187  277
188  278
189  279
票数 5
EN

Stack Overflow用户

发布于 2017-05-28 23:21:24

使用numpy加速并重建新的数据帧。

假设我们使用jezrael的样本数据

代码语言:javascript
复制
a = df.A.values
m = (a > 270) & (a < 280) 
pd.DataFrame(a[m], df.index[m], df.columns)

       A
181  271
182  272
183  273
184  274
185  275
186  276
187  277
188  278
189  279
票数 3
EN

Stack Overflow用户

发布于 2017-05-28 23:15:18

您也可以使用query()方法:

代码语言:javascript
复制
df2 = df.query("270 < A < 280")

演示:

代码语言:javascript
复制
In [40]: df = pd.DataFrame({'A':range(90,300)})

In [41]: df.query("270 < A < 280")
Out[41]:
       A
181  271
182  272
183  273
184  274
185  275
186  276
187  277
188  278
189  279
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44228817

复制
相关文章

相似问题

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