概要
データ基礎試験受けるかもようのメモ
「Pandas」は Python のライブラリで、データを効率的に解析するためのライブラリ
pandas - Python Data Analysis Library
Tips
#最大値、最小値、平均値、標準偏差などの参照 df.describe() #各列のデータ型の参照 df.info() #データの先頭数行を閲覧する df.head() #データの末尾数行を閲覧する df.tail() #データの次元数(何行、何列あるか) df.shape # 値の個数 df["column"].value_counts() # 値の個数(上と同じ) pd.value_counts(df["column"]) # 列名の一覧① df.columns # 列名の一覧② df.count()
欠損値の削除
# dfに1個でも欠損値があったら行を削除する df.dropna(axis = 0, how = 'any', inplace=True) # 閾値を決めてドロップする(欠損した列を3列以上もつ行を削除する) # inplaceしないとソースデータに反映されない。 df.dropna(thresh=3,inplace=True)
欠損値の穴埋め
fillna df.loc[df["単価"].isna(),"単価"] = 0
欠損値を無視して計算する
# 計算の際に少しでも欠損値があると結果Nanになる。欠損値を無視するオプションを使う。 df.sum(skipna=False) df.mean(skipna=False)
列へ代入
df.loc[:,"単価"] = 0
特定の列を抽出して代入
df.loc[df["単価"] == "支給", "単価"] = 0
正規表現で列を追加
df["grade"] = df["品名"].str.extract( "(^[A-Z]{2}|^[A-Z]{2}|^/d/d?//d+|^[0-9][0-9]?/[0-9]*)", expand=False)
グループ化 に使う構文・メソッド
グループはgroupbyオブジェクトを使う
df.groupby()
を使う。- グループ化して変数に入れると変数にはGroupbyオブジェクトが入る。(DataFraem,Seriesではない)
df.groupby('items').get_group('item_1') g1 = df.groupby('items') print(g1.groups) df.groupby('items').size() # まとめて集約 df_s.groupby("袋詰場所").agg(np.sum) # 辞書を使った集約 df_s.groupby("袋詰場所").agg({"総生産数":np.sum, "ロット":"first" })