資料選擇與篩選


  • 欄位選擇 (columns),只需要表內的特定幾欄
  • 數值篩選,只需要滿足篩選條件的資訊
  • .loc、.iloc
#使用一個中括號選擇欄位名稱,輸出type為Series

df_straw_hat['name'] #因為type為Series的關係,一次只能選擇一欄

type(df_straw_hat['name'])

#使用兩個中括號選擇欄位名稱,輸出type為DataFrame

df_straw_hat[['name', 'gender']] #type是DataFrame,所以可以一次選擇多欄

type(df_straw_hat[['name', 'occupation']])

#在中括號中放入長度 (index)相同的list like物件,使用True / False做篩選

lis_filter = [True, True, True, True, True, False, False, False, False]

df_straw_hat[lis_filter]

#常用的做法,使用Series條件式來創造篩選條件

df_straw_hat['gender'] == 'male'

#再把創造出來的Series包在DataFrame裡就成功囉

df_straw_hat[df_straw_hat['gender'] == 'male'] #選出男生

#滿足條件A且B,使用[&]把條件式接起來

df_straw_hat[(df_straw_hat['gender'] == 'male') &
             (df_straw_hat['age'] <= 20)] #選出男生而且二十歲以下的成員

#滿足條件A或B,使用[|]把條件式接起來

df_straw_hat[(df_straw_hat['gender'] == 'female') |
             (df_straw_hat['age'] <= 20)] #選出女生或者二十歲以下的成員

#在你明白知道index、columns的[名稱]時,你可以用.loc來取出DataFrame的一部分

df_straw_hat.loc[0,'name'] #取出index名稱為0,且columns名稱為name的值

#一維陣列,產生的type為Series,二維為DataFrame

df_straw_hat.loc[0:3,'name'] #取出index名稱為0至3,且columns名稱為name的值

df_straw_hat.loc[0:3,'name':'age'] #取出index名稱為0至3,且columns名稱為name至age的值

df_straw_hat.loc[[0,2,4],['name','age']] #你也可以跳著選

df_straw_hat.loc[:,:] #你也可以全選

#在你明白知道index、columns的[位置]時,你可以用.iloc來取出DataFrame的一部分

df_straw_hat.iloc[0,0] #取出index位置為0,且columns位置為0的值

#一維陣列,產生的type為Series,二維為DataFrame

df_straw_hat.iloc[0:3,0] #取出index位置為0至3,且columns位置為0的值

df_straw_hat.iloc[0:3,0:3] #取出index位置為0至3,且columns位置為0至3的值

df_straw_hat.iloc[[0,2,4],[0,2]] #你也可以跳著選

df_straw_hat.iloc[:,:] #你也可以全選


使用pandas篩選出特定條件的成員吧


  • 在df_straw_hat中,一次篩選出[身高175以下的男生]或[身高180以上的女生]

  1. &、|的混合使用
  2. 每一個條件式記得使用小括號包起來再連接

results matching ""

    No results matching ""