大多数 Pandas 用户都熟悉 iloc[]
和 loc[]
索引器方法,用于从 Pandas DataFrame 中检索行和列。但是随着检索数据的规则变得越来越复杂,这些方法也随之变得更加复杂而臃肿。
同时 SQL 也是我们经常接触且较为熟悉的语言,那么为什么不使用类似于 SQL 的东西来查询我们的数据呢
事实证明实际上可以使用 query()
方法做到这一点。因此,在今天的文章中,我们将展示如何使用 query()
方法对数据框执行查询
获取数据
我们使用 kaggle 上的 Titanic 数据集作为本文章的测试数据集,下载地址如下:
https://www.kaggle.com/datasets/tedllh/titanic-train
当然也可以在文末获取到萝卜哥下载好的数据集
载入数据
下面文末就可以使用 read_csv 来载入数据了
import pandas as pd
df = pd.read_csv('titanic_train.csv')
df
数据集有 891 行和 12 列:
使用 query() 方法
让我们找出从南安普敦 (‘S’) 出发的所有乘客,可以使用方括号索引,代码如下所示:
df[df['Embarked'] == 'S']
如果使用 query()
方法,那么看起来更整洁: