在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]
输出结果同上。
以上就是使用查询函数根据列值过滤行的详细讲解。