Pandas学习之路【2】

Pandas数据查询的5种方法:

数据准备:

1
import pandas as pd
1
path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\datas\\beijing_tianqi\\beijing_tianqi_2018.csv'

  

1
2
3
df = pd.read_csv(path)
 
df.head()

 

1
2
3
4
# 默认的行索引为0,1,2...数字,但是此时我想把ymd这一行设置为索引
df.set_index('ymd', inplace=True)
 
df.head()

 

1
2
3
4
5
# 替换掉温度的后缀 ℃
df.loc[:, 'bWendu'] = df['bWendu'].astype('str').str.replace('℃', '').astype('int32')
df.loc[:, 'yWendu'] = df['yWendu'].astype('str').str.replace('℃', '').astype('int32')
 
df.head()

  

 

Pandas查询数据:

 

【方法1:使用单个标签值进行查询】

1
2
# 得到单个值
df.loc['2018-01-02','bWendu']

  

【方法2:使用标签值列表批量查询】

1
2
3
4
5
6
7
df.loc['2018-01-02',['bWendu','yWendu']]
 
 
df.loc[['2018-01-02', '2018-01-04', '2018-01-05'], 'bWendu']
 
 
df.loc[['2018-01-02', '2018-01-04', '2018-01-05'], ['bWendu','yWendu']]

  

【方法3:使用区间范围进行查询】

1
2
3
4
5
6
7
8
9
10
# 行index区间
df.loc['2018-01-02':'2018-01-05', 'bWendu']
 
 
# 列index区间
df.loc['2018-01-02', 'bWendu':'yWendu']
 
 
# 行和列区间
df.loc['2018-01-02':'2018-01-05', 'bWendu':'yWendu']

  

【方法4:使用条件表达式查询】

1
2
# 最低温度小于-10度, 列取全部
df.loc[df['yWendu']<-10, :]
1
2
# 查询最高温度小于30,并且最低温度大于15,并且是晴天,并且天气为优的
df.loc[(df['bWendu']<30) & (df['yWendu']>15) & (df['tianqi']=='晴') & (df['aqiLevel']==1), :]

  

【方法5:调用函数查询】

 

1
df.loc[lambda df: (df['bWendu']<30) & (df['yWendu']>15), :]

  

 

posted @   映辉  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示