Pandas_2


1. Groupby


split→apply→combineプロセスで演算します.
柱を1本以上つなぐことができます.
  • Hierarchial index
    2つの列でグループ化すると、2つのインデックスが作成されます.
    groupbyコマンドを使用して、階層インデックスを使用できます.
  •   h_index["Devils":"Kings"]
      #value: Devils와 Kings에 관한 정보만 나온다.
           hierarchical index.unstack()
             →パケットデータをマトリクス形式に変換する.
  • filter
    特定の条件でのデータの検索
  • 2. Pivot table & Crosstab


    groupby、pivot table、crosstabは同じフォーマット(目的)を使用します.
    データ解析

    👉 実際のデータの処理方法(前処理)
      #NoN 값이 있는지 없는지 확인
      df_ipcr["section].isnull().sum() 
    
      #Null이 아닌 경우만 모아서 subclass를 다시 만들어준다
      df_ipcr = df_ipcr[df_ipcr("subclass").isNull() == False]
    
      #자료형 변환을 위해 map을 사용한다.
      df_ipcr["ipc_class"] = df_ipcr["ipc_class"].map(str)
      df_ipcr = df)ipcr[df_ipcr["ipc_class"].map(str.isdigit)]
    
      #digit 형태로 바꿔준다. ex) 01, 02, 03
      two_diit_f = lambda x : '{0:02d}'.format(x)
      two_Digit_f(3)
      # value: 03

    3. Merge, Concat


    2つのデータを1つに結合
  • Merge
    2つのデータフレームを共通のエントリに結合します.
    1) Inner Join
    2列の名前が異なる場合は、左、右の列の名前
    pd.merge(df_a, df_b, left_on="subject_id", right_on="subject_id")
    2を指定します)Left Join/Outer Join
    pd.merge(df_a, df_b, on="subject_id", how="left/outer")
  • concat
    2つのデータフレームを簡単にマージします.
  • 4. DB Persistence

  • データロード時にdb接続
  • を提供する.
      #Database 연결 코드
      import sqlite3
    
      conn = sqlite3.connect("./data/flights.db")
      cr = conn.cursor()
      cur.execute("select *from airlines limit 5;")
      results = cur.fetchall()
      results
    
      #DB 연결 conn을 사용하여 dataframe 생성
      df_airlines = pd.read_sql_query("select *from airlines;", conn)
  • Pickle persistence
    最も一般的なPythonファイルpersistence
  •     df_routes.to_pickle("./data/df_routes.pickle")