Pandas数据查询的5种方法:
数据准备:
import pandas as pd
path = 'C:\\Users\\zhang\\Desktop\\ant-learn-pandas-master\\datas\\beijing_tianqi\\beijing_tianqi_2018.csv'
df = pd.read_csv(path) df.head()
# 默认的行索引为0,1,2...数字,但是此时我想把ymd这一行设置为索引 df.set_index('ymd', inplace=True) df.head()
# 替换掉温度的后缀 ℃ 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:使用单个标签值进行查询】
# 得到单个值 df.loc['2018-01-02','bWendu']
【方法2:使用标签值列表批量查询】
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:使用区间范围进行查询】
# 行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:使用条件表达式查询】
# 最低温度小于-10度, 列取全部 df.loc[df['yWendu']<-10, :]
# 查询最高温度小于30,并且最低温度大于15,并且是晴天,并且天气为优的 df.loc[(df['bWendu']<30) & (df['yWendu']>15) & (df['tianqi']=='晴') & (df['aqiLevel']==1), :]
【方法5:调用函数查询】
df.loc[lambda df: (df['bWendu']<30) & (df['yWendu']>15), :]
标签:02,loc,01,df,学习,bWendu,2018,Pandas From: https://www.cnblogs.com/zhangyh-blog/p/17872190.html