Pandas查询数据的简便方法df.query
怎样进行复杂组合条件对数据查询:
- 方式1. 使用df[(df[“a”] > 3) & (df[“b”]<5)]的方式;
- 方式2. 使用df.query(“a>3 & b<5”)的方式;
方法2的语法更加简洁
性能对比:
- 当数据量小时,方法1更快;
- 当数据量大时,因为方法2直接用C语言实现,节省方法1临时数组的多次复制,方法2更快;
import pandas as pd
print(pd.__version__)
1.0.1
0、读取数据
数据为北京2018年全年天气预报
df = pd.read_csv("./datas/beijing_tianqi/beijing_tianqi_2018.csv")
df.head()
ymd | bWendu | yWendu | tianqi | fengxiang | fengli | aqi | aqiInfo | aqiLevel | |
---|---|---|---|---|---|---|---|---|---|
0 | 2018-01-01 | 3℃ | -6℃ | 晴~多云 | 东北风 | 1-2级 | 59 | 良 | 2 |
1 | 2018-01-02 | 2℃ | -5℃ | 阴~多云 | 东北风 | 1-2级 | 49 | 优 | 1 |
2 | 2018-01-03 | 2℃ | -5℃ | 多云 | 北风 | 1-2级 | 28 | 优 | 1 |
3 | 2018-01-04 | 0℃ | -8℃ | 阴 | 东北风 | 1-2级 | 28 | 优 | 1 |
4 | 2018-01-05 | 3℃ | -6℃ | 多云~晴 | 西北风 | 1-2级 | 50 | 优 | 1 |
# 替换掉温度的后缀℃
df.loc[:, "bWendu"] = df["bWendu"]