如何在Pandas中用查询函数根据列值过滤行

  • Post category:Python

在pandas中,可以使用查询(query)函数根据列值来过滤行。具体实现步骤如下:

1.导入pandas模块:

import pandas as pd

2.创建DataFrame数据:

data = {'col1': [1, 2, 3, 4, 5],
        'col2': [6, 7, 8, 9, 10],
        'col3': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)

3.使用query函数查询过滤行:

result = df.query('col1 > 3')

上述代码中,query函数中的字符串’col1 > 3’表示筛选col1列中所有大于3的行,返回的结果就是筛选出来的行,可以直接进行操作。

4.对筛选出来的结果进行操作,例如输出:

print(result)

输出结果为:

   col1  col2  col3
3     4     9    14
4     5    10    15

在使用query函数的时候,可以使用逻辑运算符and、or、not等。

例如筛选出col1列中所有大于3的并且col3列中所有大于12的行:

result = df.query('col1 > 3 and col3 > 12')

输出结果为:

   col1  col2  col3
3     4     9    14
4     5    10    15

除了使用query函数,还可以使用布尔索引来根据列值过滤行。例如,筛选出col1列中所有大于3的行:

result = df[df['col1']>3]

输出结果同上。

以上就是使用查询函数根据列值过滤行的详细讲解。