Python 在数据帧中分隔特定值
我有一个很大的数据集。我试着用熊猫数据框阅读它。我想从其中一列中分离一些值。假设列的名称为“A”,则值的范围为90到300。我想分离270到280之间的任何值。我确实尝试了下面的代码,但它是错误的Python 在数据帧中分隔特定值,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我有一个很大的数据集。我试着用熊猫数据框阅读它。我想从其中一列中分离一些值。假设列的名称为“A”,则值的范围为90到300。我想分离270到280之间的任何值。我确实尝试了下面的代码,但它是错误的 %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[ 2
%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]
%matplotlib内联
将numpy作为np导入
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
导入seaborn作为sns
df=pd.read_csv(“……csv”)
df2=df[270
与以下部件一起使用:
或:
df2=df[(df['A']>270)和(df['A']<280)]
打印(df2)
A.
181 271
182 272
183 273
184 274
185 275
186 276
187 277
188 278
189 279
您也可以使用以下方法:
df2=df.query(“270
演示:
[40]中的df=pd.DataFrame({'A':范围(90300)})
在[41]中:df.query(“270
使用numpy
加快速度并重建新的数据帧。假设我们使用的是jezrael的样本数据
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
其中哪一部分是numpy?@pshep123-如果调用a=df.a.values
获取numpy数组,然后a[m]
和df.index[m]
用于过滤数组(列a的值数组和索引值数组)-在numpy中也可以使用相同的布尔索引。Ahhh,因此,通过使用一维数组(值
),默认情况下使用的是numpy。明白了,谢谢。我发现这个错误了!UndefinedVariableError:名称“A”不是defined@user8034918,您确定您有一个名为a
的专栏吗?如果我的或其他答案有用,请不要忘记。谢谢
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
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
df2 = df.query("270 < A < 280")
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
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