从数据框中的列中选择特定值

Sah*_*hil 1 python pandas

我有一个只有两列的数据集.我想根据一栏中的某些条件从中提取一小部分.将此视为我的数据集.

A    B
1    10
1    9
2    11
3    12
3    11
4    9
Run Code Online (Sandbox Code Playgroud)

假设我只想提取那些B值在10-12之间的行.所以我得到一个新的数据集:

A    B
1    10
2    11
3    12
3    11
Run Code Online (Sandbox Code Playgroud)

我尝试使用df.loc [df ["B"] ==范围(10,12)]但它不起作用,有人可以帮我这个吗?

Zer*_*ero 6

您可以使用 .between

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
Run Code Online (Sandbox Code Playgroud)

要么, isin

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
Run Code Online (Sandbox Code Playgroud)

要么, query

In [1033]: df.query('10 <= B <= 12')
Out[1033]:
   A   B
0  1  10
2  2  11
3  3  12
4  3  11
Run Code Online (Sandbox Code Playgroud)

或者,好的 boolean

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
Run Code Online (Sandbox Code Playgroud)