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), :] |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人