代码示例:
import pandas as pd
#读取文件
df = pd.read_csv('./TianQi.csv')
#字符串替换和类型转换
df['最高温度'] = df['最高温度'].str.replace('℃','').astype('int32')
df.loc[:,'最低温度'] = df['最低温度'].str.replace('℃','').astype('int32')
#编写取值条件字符串。
qstr = "(25<最高温度<30)"
#获取最高温度范围 25<最高温度<30,为了方便查看只显示5条
print(df.query(qstr).head())
'''
打印:
日期 最高温度 最低温度 天气 风向 风级 空气质量
93 2019/4/4 28 9 多云 西北风 3级 轻度污染
104 2019/4/15 26 11 多云 西南风 2级 良
105 2019/4/16 26 12 晴 东南风 2级 良
106 2019/4/17 28 16 霾~多云 西南风 3级 轻度污染
111 2019/4/22 26 15 晴~多云 西南风 2级 轻度污染
'''
qstr1 = "(25<最高温度<30) and (天气 =='晴')"
#获取最高温度范围 25<最高温度<30,且天气为晴的条目,为了方便查看只显示5条
print(df.query(qstr1).head())
'''
打印:
日期 最高温度 最低温度 天气 风向 风级 空气质量
105 2019/4/16 26 12 晴 东南风 2级 良
120 2019/5/1 27 10 晴 西北风 2级 优
132 2019/5/13 26 12 晴 西南风 3级 良
139 2019/5/20 26 13 晴 西北风 4级 优
146 2019/5/27 29 15 晴 西北风 3级 优
'''
#带变量条件的书写,加@符号
my_mean = df['最高温度'].mean()
qstr2="最高温度>@my_mean"
#获取最高温度范围 大于平均温度,为了方便查看只显示5条
print(df.query(qstr2).head())
'''
打印:
日期 最高温度 最低温度 天气 风向 风级 空气质量
75 2019/3/17 20 4 晴 西南风 2级 良
76 2019/3/18 21 6 多云~晴 东南风 1级 轻度污染
77 2019/3/19 25 11 多云 西南风 2级 中度污染
83 2019/3/25 22 5 晴 西北风 2级 良
85 2019/3/27 21 4 多云 东北风 2级 轻度污染
'''