Pandas数据查询的集中实现方法
柒月烈阳 人气:0Pandas查询数据的几种方法
- df.loc方法,根据行、列的标签值查询
- df.iloc方法,根据行、列的数字位置查询
- df.where方法
- df.query方法
.loc既能查询,又能覆盖写入,强烈推荐!
Pandas使用df.loc查询数据的方法
- 使用单个label值查询数据
- 使用值列表批量查询
- 使用数值区间进行范围查询
- 使用条件表达式查询
- 调用函数查询
以上查询方法,既使用与行,也适用于列
降维:DataFrame>Series>值
0、进行数据预处理
import pandas as pd df = pd.read_csv("E:\Python\dataAnalysis\spider\dataFile\weatherData.csv") # 设置索引为日期 df.set_index("日期", inplace=True) # print(df.index) print(df.head()) # 对最高气温和最低气温进行数值改变 try: df.loc[:, "最高气温"] = df["最高气温"].str.replace("℃", "").astype("int32") df.loc[:, "最低气温"] = df["最低气温"].str.replace("℃", "").astype("int32") print(df.head()) except Warning as dw: # print(dw) pass
1、使用单个label值查询数据
行或者列,都可以只传入单个值,实现精确匹配
# 使用单个label值查询数据 print(df.loc['2022-12-05 星期一', ['天气', '风向']]) print(type(df.iloc[12]))
2、使用值列表批量查询
# 使用值列表批量查询 print(df.loc[['2022-12-04 星期日', '2022-12-05 星期一']])
3、使用数值区间进行范围查询
区间:包含开始,也包含结束
# 使用数值区间进行范围查询 print(df.loc['2022-12-04 星期日':'2022-12-07 星期二', '最高气温':'天气'])
4、使用条件表达式查询
bool列表的长度得等于行数或者列数
# 使用条件表达式查询 print(df.loc[df["最高气温"] > 7, :])
5、调用函数查询
# 调用函数查询 print(df.loc[lambda df: (df["最高气温"] < 20) & (df["最低气温"] >= 0), :])
加载全部内容