Pandas学习之路【2】有哪些进阶技巧和难点?

摘要:Pandas数据查询的5种方法: 数据准备: import pandas as pd path = 'C:\Users\zhang\Desktop\ant-learn-pandas-master\datas
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), :]