数据查询df.loc方法看视频笔记】"/>
【pandas数据查询df.loc方法看视频笔记】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
-
- 一、视频链接
- 二、笔记
- 1.df.loc方法
- 2.df.iloc:根据行、列的数字位置查询
- 3.df.where
- 4.df.query
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
视频链接:=4
pandas数据查询,按数值、列表、区间、条件、函数五种方式
提示:以下是本篇文章正文内容,下面案例可供参考
一、视频链接
视频链接:=4
二、笔记
1.df.loc方法
df.loc方法:根据行、列的标签值查询,df.loc既可以查询,可以覆盖写入
代码如下(示例):
import numpy as np
import pandas as pd
df=pd.read_excel("./data/test.xls")#测试数据
#设定某一列(日期)为索引,方便按照日期筛选
df.set_index("日期",inplace=True)
#替换最高温度列的后缀℃,首先":"是为了筛选出所有的行,再找到“最高温度”这一列,再把它替换成
df.loc[:,"最高温度"]=df["最高温度"].str.replace("℃","").astype("int32")
df.loc[:,"最低温度"]=df["最低温度"].str.replace("℃","").astype("int32")
#以上数据处理完成
a可以使用单个label值查询数据
df.loc['2018-01-03',"最高温度"]
#查找索引为20180103的最高温度,结果就是一个单个的数字32
df.loc['2018-01-03',["最高温度","最低温度"]]
#这样返回的是一个series
b使用值列表批量查询
df.loc[['2018-01-03','2018-01-04','2018-01-05'],"最高温度"]
#查找索引为上面3天的最高温度,结果就是series
df.loc[['2018-01-03','2018-01-04','2018-01-05'],["最高温度","最低温度"]]
#这样返回的是一个dataframe
c使用数值区间进行范围查询
df.loc['2018-01-03':'2018-01-05',"最高温度"]
#查找按照行的index的区间
df.loc['2018-01-03',"最高温度":"最低温度"]
#查找按照列的index的区间
df.loc['2018-01-03':'2018-01-05',"最高温度":"最低温度"]
#行、列区间都有
d使用条件表达式查询
df.loc[df.loc["最高温度"]<10,:]
#查找最高温度小于10的列表,这样使用的条件是bool运算df.loc[]<10的列表长度等于行数或列数
df.loc[['2018-01-03','2018-01-04','2018-01-05'],["最高温度","最低温度"]]
#这样返回的是一个dataframe#复杂的条件查询,组合条件用&,每个条件判断得带括号
df.loc[(df.loc["最高温度"]<30)&(df.loc["最低温度"]>15)&(df.loc["风向"]=="北风"),:]
e调用函数查询
#使用匿名函数lambda表达式,举例lambda x: x*2,意思是输出x,x=x*2
df.loc[lambda df :(df.loc["最高温度"]<30)&(df.loc["最低温度"]>15),:]#也可以自己编写函数后再查询
def qurry_df(df):return df.index.str.startswith('2018-09')&df["最高温度"]<30
df.loc[query_df,:]
2.df.iloc:根据行、列的数字位置查询
3.df.where
4.df.query
总结
提示:这里对文章进行总结:
loc[]方法有很多种应用,笔记看不懂就看视频,视频说得蛮清楚的
更多推荐
【pandas数据查询df.loc方法看视频笔记】
发布评论