Pandas数据查询

Pandas数据查询

Pandas查询数据的几种方法
  • 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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7QxKZpwB-1677415727650)(file://C:\Users\82391\AppData\Roaming\marktext\images\2023-02-24-16-05-17-image.png?msec=1677399444378)]

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 星期二', '最高气温':'天气'])

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hz1fbXlu-1677415727653)(file://C:\Users\82391\AppData\Roaming\marktext\images\2023-02-24-17-22-29-image.png?msec=1677399444379)]

4、使用条件表达式查询

bool列表的长度得等于行数或者列数

# 使用条件表达式查询
print(df.loc[df["最高气温"] > 7, :])

在这里插入图片描述

5、调用函数查询
# 调用函数查询
print(df.loc[lambda df: (df["最高气温"] < 20) & (df["最低气温"] >= 0), :])
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值