Pythonデータ分析の前処理で、意外と利用機会の多い便利なメソッドを紹介します。また最後に、データ分析の流れを経験できる初心者にオススメ学習コンテンツを紹介しますので、ご参考ください。
必要なライブラリ
import pandas as pd
サンプルデータ
df_score = pd.DataFrame({
'ID': ['A001', 'A002', 'A002', 'A003', 'A004', 'A005', 'A006', 'A007', 'A007', 'A008', 'A009', 'A010', 'A011', 'A012'],
'部署': ['営業', '営業', '営業', '営業', '経理', '経理', '人事', '人事', '人事', '生産', '生産', '総務', '社長室', '社長室'],
'役職': ['部長', None, None, None, '課長', None, None, None, None, '課長', None, None, None, None],
'姓': ['山田', '高橋', '高橋', '野口', '池田', '北本', '森田', '伊藤', '伊藤', '花田', '鈴木', '佐藤', '木下', '江口'],
'名': ['弘樹', '優斗', '優斗', '美咲', '裕子', '雄太', '健司', '奈央', '奈央', '武', '雄介', '瑞樹', '智子', '悟'],
'スコア': [52, 56, 47, 67, 32, 57, 46, 83, 70, 49, 55, 38, 39, 62]
})
drop 列の削除
df_score.drop('役職', axis=1, inplace=True)
# axis=1の指定によって、列を削除できる
# inplace=Trueの指定によって、df_scoreの値が置き換わる
query 条件でフィルタ
df_score.query('部署 == ["営業", "人事"]', inplace=True)
# inplace=Trueの指定によって、df_scoreの値が置き換わる
sort_values 並び替え
df_score.sort_values(['ID', 'スコア'], inplace=True)
# リストは並び替え優先度の高い順に並べる
# inplace=Trueの指定によって、df_scoreの値が置き換わる
# ascending=Falseを指定すると降順
drop_duplicates 重複削除
df_score.drop_duplicates(subset=['ID'], keep='last', inplace=True)
# subset=['ID']の指定によって、重複判断する列を指定。複数設定可。複数の場合、すべて重複した場合に限り重複とみなす
# keep='last'の指定によって、最後のレコードを残す。最初のレコードを残す場合、keep='first'を指定
# inplace=Trueの指定によって、df_scoreの値が置き換わる
apply 新しい列の作成
def full_name(df):
return df['姓'] + df['名']
# 変換ロジックを定義
df_score['姓名'] = df_score.apply(full_name, axis=1)
# 定義した関数をapplyで適用する
# axis=1の指定によって、列を作成できる
transpose 行列入れ替え
df_score.transpose()
merge テーブル結合
サンプルデータその2
df_blood = pd.DataFrame({
'ID': ['A001', 'A002', 'A003', 'A004', 'A005', 'A006', 'A007', 'A008', 'A009', 'A010', 'A011', 'A012'],
'氏名': ['山田弘樹', '高橋優斗', '野口美咲', '池田裕子', '北本雄太', '森田健司', '伊藤奈央', '花田武', '鈴木雄介', '佐藤瑞樹', '木下智子', '江口悟'],
'血液型': ['A', 'B', 'O', 'AB', 'A', 'O', 'B', 'A', 'A', 'B', 'O', 'O']
})
pd.merge(df_score, df_blood, on='ID', how='left')
# on='ID'の指定によって、結合キーを指定。
# how='left'の指定によって、結合方式を指定。'left'は左外部、'inner'は内部、'outer'は完全外部。
【最後に】データ分析手法のコンテンツ(私が制作したものの紹介)
私が制作したものですが、以下、初心者向けのPythonデータ分析学習コンテンツです。データの取り込み、前処理から可視化の流れを学習できる教材です。考察イメージまで記載されているのでオススメです。一部無料公開されているので、ご興味あればお試しください。