目录使用dataframe条件表达式查询复杂条件查询使用df.query可以简化查询方法对比:使用df[(df[a]3)(df[b]5)]的方式;使用df.query(a3b5)的方式;d...
目录
使用dataframe条件表达式查询复杂条件查询
使用df.query可以简化查询
方法对比:
使用df[(df[“a”] > 3) & (df[“b”]<5)]的方式;
使用df.query(“a>3 & b<5”)的方式;
df = pd.read_csv("beijing_tianqi_2018.csv")
df.head()
# 替换掉温度的后缀℃
df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int32')
df.loc[:, "yWendu"] = df["yWendu"].str.replace("℃", "").astype('int32')
使用dataframe条件表达式查询
最低温度低于-10度的列表
df[df["yWendu"] < -10].head()
复杂条件查询
注意,组合条件用&符号合并,每个条件判断都得带括号
## 查询最高温度小于30度,并且最低温度大于15度,并且是晴天,并且天气为优的数据
df[
(df["bWendu"]<=30)
& (df["yWendu"]>=15)
& (df["tianqi"]=='晴')
& (df["aqiLevel"]==1)]
使用df.query可以简化查询
形式:DataFrame.query(expr, inplace=False, **kwargs)
其中expr为要返回boolean结果的字符串表达式
形如:
df.query(‘a<100’)df.query(‘a < b & b < c’),或者df.query(’(a<b)&(b<c)’)
df.query可支持的表达式语法:
逻辑操作符: &, |, ~比较操作符: <, <=, ==, !=, >=, >
单变量操作符: -
多变量操作符: +, -, *, /, %
df.query中可以使用@var的方式传入外部变量
df.query支持的语法来自NumExpr,地址:
https://numexpr.readthedocs.io/projects/NumExpr3/en/latest/index.html
查询最低温度低于-10度的列表
df.query("yWendu < 3").head(3)
查询最高温度小于30度,并且最低温度大于15度,并且是晴天,并且天气为优的数据
## 查询最高温度小于30度,并且最低温度大于15度,并且是晴天,并且天气为优的数据
df.query("bWendu<=30 & yWendu>=15 & tianqi=='晴' & aqiLevel==1")
查询温差大于15度的日子
df.query("bWendu-yWendu >= 15").head()
可以使用外部的变量
# 查询温度在这两个温度之间的数据 high_temperature = 15 low_temperature = 13
df.query("yWendu<=@high_temperature & yWendu>=@low_temperature").head()
到此这篇关于Pandas查询数据df.query的使用的文章就介绍到这了,更多相关Pandas查询数据df.query 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!










