【Pythonデータサイエンス超入門1-2】Pandasによるデータ操作の基本【YouTube】
動画で学べるPythonによるデータサイエンスの基礎シリーズ、2本目です。Pythonでデータ分析をするにあたり避けては通れないライブラリ、Pandasの基本的な使い方についての教材となります。
動画
アジェンダ
時間 | 内容 |
---|---|
0:00 | オープニング |
3:47 | pandasとは |
6:03 | 第一章:データの確認 |
6:03 | ├ CSVの読み込み |
11:08 | ├ 一部の行/列の抽出 |
17:08 | ├ 条件による行の抽出(フィルター) |
20:58 | ├ データの並び替え(ソート) |
23:20 | └ CSVへの書き出し |
27:43 | 第二章:データの集計 |
28:07 | ├ データの集計 |
30:59 | └ 条件ごとのデータの集計 |
36:39 | 第三章:データの整形 |
38:34 | ├ 重複行処理 |
44:46 | ├ 欠損値処理 |
51:19 | └ 形状変換 |
55:35 | 第四章:データの結合 |
59:58 | ├ joinによる結合 |
1:02:50 | ├ mergeによる結合 |
1:07:30 | └ concatによる結合 |
1:09:46 | クロージング |
シリーズ一覧
CSVのダウンロード
enquete_sample.csv
personNo_1.csv
personNo_1B.csv
personNo_2.csv
sectionNo.csv
ソースコード
第一章:データの確認
CSVの読み込み
1 |
df_enq = pd.read_csv("enquete_sample.csv",index_col="回答者No.") |
一部の行/列の抽出
1 |
df_enq[5:10][["性別","年代","満足度","世帯人数"]] |
条件による行の抽出(フィルター)
1 |
df_enq[(df_enq["年収"] >= 500) & (df_enq["年代"] == "50代")] |
データの並び替え(ソート)
1 |
df_enq.sort_values(["年代","年収"],ascending=False) |
CSVへの書き出し
1 2 |
df_enq_tmp = df_enq[df_enq["年代"] == "40代"].sort_values("年収") df_enq_tmp.to_csv("結果.csv") |
第二章:データの集計
データの集計
1 |
df_enq.median(numeric_only=True) |
条件ごとのデータの集計
1 |
df_enq.groupby(["性別","年代"]).sum() |
第三章:データの整形
重複行処理
1 |
df_enq[df_enq.duplicated(keep=False)] |
欠損値処理
1 2 |
df_enq.drop_duplicates(subset=["性別","年代"]) df_enq.fillna({"年代":"不明","年収":df_enq.median()["年収"]}) |
形状変換
1 2 |
df_enq.melt() df_enq.T |
第四章:データの結合
joinによる結合
1 2 3 4 |
df_person1 = pd.read_csv("personNo_1.csv",index_col="社員番号") df_person2 = pd.read_csv("personNo_2.csv",index_col="社員番号") df_person = df_person1.join(df_person2) |
mergeによる結合
1 2 |
df_section = pd.read_csv("sectionNo.csv",index_col="組織番号") pd.merge(df_person,df_section,on=["組織番号","組織名"]) |
concatによる結合
1 2 |
df_person1B = pd.read_csv("personNo_1B.csv",index_col="社員番号") pd.concat([df_person1,df_person1B]) |