Pandas查询数据的几种方式
一、Pandas查询数据的几种方法1.df.loc方法,根据行、列的标签值查询2.df.iloc方法,根据行、列的数字位置查询3.df.where方法,4.df.query方法二、查询数据方法的实现案例注:在查询数据过程中会存在降维的情况,DataFrame中查询出某列或某行为Series类型,从DataFrame和Series中查询出某个值为具体的编程语言中的类型,如 int,float,str
一、Pandas查询数据的几种方法
1.df.loc方法,根据行、列的标签值查询
2.df.iloc方法,根据行、列的数字位置查询
3.df.where方法,
4.df.query方法
二、查询数据方法的实现案例
注:在查询数据过程中会存在降维的情况,DataFrame中查询出某列或某行为Series类型,从DataFrame和Series中查询出某个值为具体的编程语言中的类型,如 int,float,str等类型
1、df.loc查询数据方法
①使用单个label值查询数据
得到单个值: dataset.loc["2018-01-09", 'bWendu']
得到一个Series:dataset.loc["2018-01-09", ['bWendu', 'yWendi']]
②使用值列表批量查询
得到一个Series:dataset.loc[['2018-11-06', '2018-11-07', '2018-11-08'], 'bWendu']
得到一个DataFrame:dataset.loc[['2018-11-06', '2018-11-07', '2018-11-08'], ['bWendu', 'yWendu']]
③使用数值区间进行范围查询
注意输出的区间既包括开始,也包括结束
按行的index区间查找:dataset.loc['2018-11-06':'2018-11-15', 'bWendu']
案列的index区间查找:dataset.loc['2018-11-06', 'bWendu':'fengxiang']
行和列都按区间查找:dataset.loc['2018-11-06':'2018-11-11', 'bWendu':'fengxiang']
④使用条件表达式查询
查询最高温度高于35度的天的信息:dataset.loc[df['bWendu'] > 35, :]
复杂条件查,查询符合条件的一天
注意:每个条件要用括号包含,且条件之间要用“&”符号连接
dataset.loc[(dataset["bWendu"] <= 30) & (dataset["yWendu"] >= 15) & (dataset["tianqi"] == '晴') & (dataset["aqiLevel"] == 1), :]
⑤调用函数查询:lambda df:df就是设的要在其上操作的对象
dataset.loc[lambda df: (df["bWendu"] <= 30) & (df["yWendu"] >= 15), :]
可以自己设一个函数:
def query_data(df):
return df.index.str.startswith("2018-09") & df["aqiLevel"]==1
dataset.loc[query_data, :]
数据来源:B站up主:蚂蚁学Python
数据链接:peiss/ant-learn-pandas: pandas学习课程代码仓库 (github.com)
声明:本文章只供学习参考,并不用于商用!如有侵权请及时联系博主,做出调整。
更多推荐
所有评论(0)