Skip to main content
 首页 » 编程设计

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

2025年05月04日16leader

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

A    B 
1    10 
1    9 
2    11 
3    12 
3    11 
4    9 

假设我只想提取那些在 B 中具有 10 - 12 值的行。所以我会得到一个新的数据集:

A    B 
1    10 
2    11 
3    12 
3    11 

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

请您参考如下方法:

你可以使用.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 

或者,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 

或者,查询

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

或者,good'ol 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