04.pandas查询数据的5种方法
按数值,列表,函数,区间,条件的查询方法
(1)查询语法
1.df.loc:根据行列的标签值进行查询
2.df.iloc:根据行列的位置进行查询
3.df.where
4.df.query
(2)df.loc查询方法
@用单个lable值查询数据
@使用值列表批量查询
@使用数据区间进行范围查询
演示
import pandas as pd
df=pd.read_csv("文件位置")
df.head#查看文件前几行数据
df.set_index('列名索引',implace=True)
df.index#索引数据
df.head#输出的是对应改索引为第一列,每行为改索引数据
df.loc[:,'bWendu'] = df['bWendu'].str.replace("C","").astype("int32")#将温度里面的C替换成空白
#根据单个lable值查询数据
df.loc['前面索引数据值(lable)','需要查询的列名索引']
df.loc['前面索引数据值(lable)',['需要查询的列名索引','需要查询的列名索引','需要查询的列名索引']]
#根据值列表批量查询
df.loc[['前面索引数据值(lable)','前面索引数据值(lable)','前面索引数据值(lable)'],['需要查询的列名索引','需要查询的列名索引','需要查询的列名索引']]
#使用数值区间查询
df.loc['前面索引数据值(lable)':'前面索引数据值(lable)','需要查询的列名索引':'需要查询的列名索引']
#使用条件查询
df.loc[df["需要查询的列名索引"]<-10,:]
#观察下这列的布尔条件
df["需要查询的列名索引"]<-10
#组合条件查询
df.loc[(df["需要查询的列名索引"]<-110)&(df["需要查询的列名索引"]==10)&(df["需要查询的列名索引"]=='晴'),:]
#调用函数查询
#方式一
df.loc[lamba df :(df["需要查询的列名索引"]<=30)&(df["需要查询的列名索引"]>=15),:]
#方式二
def query_my_data(df):
return df.index.str.startswith("前面索引数据值(lable)#由于是str,可以不完整数据值")&df["需要查询的列名索引"]==1
df.loc[query_my_data,:]