Pandas查询数据的5种方法

    科技2024-02-01  98

    df = pd.read_csv("datas/beijing_tianqi/beijing_tianqi_2018.csv") print(df.head()) print(df.index) print('------------------------') df.set_index('ymd',inplace=True) print(df.index) df.loc[:,"bWendu"] = df["bWendu"].str.replace("℃","").astype('int32') df.loc[:,"yWendu"] = df["yWendu"].str.replace("℃","").astype('int32') print('------------------------') print(df["bWendu"]) print('------------------------') print(df.loc[:,"bWendu"]) print('------------------------') # 使用值列表批量查询 print(df.loc['2018-01-03','bWendu']) print(df.loc['2018-01-03',['bWendu','yWendu']]) print(df.loc[['2018-01-01','2018-01-02','2018-01-03'],'bWendu']) print(df.loc[['2018-01-01','2018-01-02','2018-01-03'],['bWendu','yWendu']]) # 使用数值区间进行范围查询 # 行index按区间 print(df.loc['2018-01-03':'2018-01-05','bWendu']) # 列index按区间 print(df.loc['2018-01-03','bWendu':'fengxiang']) # 行和列都按区间查询 print(df.loc['2018-01-03':'2018-01-05','bWendu':'fengxiang']) # 使用条件表达式查询 print(df.loc[df["yWendu"]<-10,:]) print(df.loc[(df["bWendu"]<=30)&(df["yWendu"]>=15)&(df["tianqi"]=='晴')&(df["aqiLevel"]==1),:]) #调用函数查询 print(df.loc[lambda df: (df["bWendu"] <= 30) & (df["yWendu"] >= 15), :]) #编写自己的函数,查询9月份,空气质量好的数据 def query_my_data(df): return df.index.str.startswith("2018-09") & df["aqiLevel"]==1 print(df.loc[query_my_data,:])
    Processed: 0.018, SQL: 8