🙆‍♀️

【データ分析】現場で活用しやすい様々な手法まとめ

2023/12/01に公開

こんにちは投資ロウトです。

背景

データ分析をするにあたって、粗いデータを綺麗にし、それを機械学習エンジニアの方に依頼することがあると思います。

そんな中で、何か作業依頼を受けた時に作業しやすいようにためのまとめ記事となります。

データ分析

データ取得

# csvにてデータを取得する
import pandas as pd

csv_data = pd.read_csv('ファイル名.csv')
# excelデータを取得する
excel_data = pd.read_excel('ファイル名.xlsx')

データの表示

# 先頭5件の表示
df.head()
# 後ろ5件の表示
df.tail()
# 本の合計を表示
print(df["books"].sum())
# データの統計量の表示
df.describe()
# 欠損値のデータ数の確認
df.isnull().sum()
# 入学日の最小と最大を表示
print(df["admission_date"].min())
print(df["admission_date"].max())
# ある月に入学した人の本の購入量を合計する
# ※集計するものによっては、sumをcountに変えることもある
df.groupby("admission_date_month").sum()["books"]
# 本の名前が変な文字などが存在していないかの重複確認
pd.unique(df["book_name"])

データの整理

# 同じ種類のデータが複数に分かれている場合
concat_data = pd.concat([df1, df2], ignore_index=True)
# 別のデータを結合するとき(key_nameが一緒である場合)
join_data = pd.merge(parent_df, children_df, on="key_name", how="left")
# 別のデータを結合するとき(key_nameが異なる場合)
join_data = pd.merge(parent_df, children_df, left_on="key_name1", right_on="key_name2 how="left")

データの質を改善

# datetime型に変更
df["admission_date"] = pd.to_datetime(df["admission_date"])
# スペースの削除(半角や消す)
df["full_name_kana"] = df["full_name_kana"].str.replace(" ", "")
# 新しい列を追加する場合
df["full_name_kana"] = df["family_name_kana"] + df["given_name_kana"]
# 列を削除する場合
del df["削除したい列名"]
# 集計しやすいように、日付を整理する場合
df["admission_date_month"] = df["admission_date"].dt.strftime("%Y%m")

作成したデータをcsvに保存

# データフレームをcsvに保存
df.to_csv("save.csv", index=False)

Discussion