環境メモ
⭐️Mac Book Pro(macOS Catalina)
⭐️Anaconda 4.9.2
⭐️Python 3.8.5
⭐️Jupyter Note book 6.1.6
⭐️Pandas 1.1.5
📊Python(Pandasパンダス)📈
— non (@nonnonkapibara) January 3, 2021
📈データ分析📊が簡単にできるPythonのライブラリやってみた😍
Oracle PL/SQLをやっていれば、直感的にCSVのデータ集計ができた💕とっても便利☺️
【Python】Pandas(パンダス)ちょっとやってみたhttps://t.co/rphduxeNaT#Python #Pandas pic.twitter.com/lQIueLUpuT
Python(Pandasパンダス)とは
データ分析が簡単にできるPythonのライブラリ。
環境作成
Anacondaでpandasをインストールしました。
詳細については下記を参考
【Python】AnacondaでJupyter Notebookを使ってpandasをインポートするとModuleNotFoundErrorが出るときの対処法
https://qiita.com/nonkapibara/items/b592b00eef112cb4df9d
Pandas(パンダス)の勉強した内容
・CSVの読み込み
・CSVの内容を表示する
・CSVの件数を表示する
・縦方向に結合(join)する
・Left innser joinとRight innser join
4つのCSVを用意
チョコ菓子とキャンディの商品マスタのCSVを用意する
・sweet_chocolate_master.csv
架空の店舗のお菓子の発注CSVを用意する
・store_name_seven.csv
Pandas(パンダス)の実装 In[1]
# パンダスライブラリを読み込む
import pandas
# お菓子(チョコ)マスターCSVを読み込む
sweet_chocolate_master = pandas.read_csv('sweet_chocolate_master.csv')
# お菓子(チョコ)マスターの内容を表示する
sweet_chocolate_master
Pandas(パンダス)の実装 In[2]
# お菓子(キャンディ)マスターCSVを読み込む
sweet_candy_master = pandas.read_csv('sweet_candy_master.csv')
# お菓子(キャンディ)マスターの内容を表示する
sweet_candy_master
Pandas(パンダス)の実装 In[3]
# チョコとキャンディのマスターを縦方向に結合(join)する
sweet_master = pandas.concat([sweet_chocolate_master,sweet_candy_master],ignore_index=True)
# 列の最大表示数を設定する
pandas.set_option('display.max_columns', 20)
# 行の最大表示数を設定する
pandas.set_option('display.max_rows', 50)
sweet_master
Pandas(パンダス)の実装 In[4]
# 件数
print('sweet_chocolate_master 件数:' + str(len(sweet_chocolate_master)))
print('sweet_candy_master 件数:' + str(len(sweet_candy_master)))
Pandas(パンダス)の実装 In[5]
# seven店舗
store_name_seven = pandas.read_csv('store_name_seven.csv')
store_name_seven
Pandas(パンダス)の実装 In[6]
# familymart店舗
store_name_familymart = pandas.read_csv('store_name_familymart.csv')
store_name_familymart
Pandas(パンダス)の実装 In[7]
# Left innser join
# 左側チョコレートマスタ、右側Seven店舗
chocolate_saven_left_join=pandas.merge(sweet_chocolate_master,store_name_seven[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="left")
chocolate_saven_left_join
Pandas(パンダス)の実装 In[8]
# Right innser join
# 左側チョコレートマスタ、右側Seven店舗
chocolate_saven_right_join=pandas.merge(sweet_chocolate_master,store_name_seven[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="right")
chocolate_saven_right_join
Pandas(パンダス)の実装 In[9]
# Left innser join
# 左側お菓子マスタ、右側family店舗
sweet_family_left_join=pandas.merge(sweet_master,store_name_familymart[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="left")
sweet_family_left_join
Pandas(パンダス)の実装 In[10]
# Right innser join
# 左側お菓子(チョコとキャンディ結合)マスタ、右側familymart店舗
# チョコとキャンディのマスターを縦方向に結合(join)する
sweet_familymart_right_join=pandas.merge(sweet_master,store_name_familymart[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="right")
sweet_familymart_right_join
Pandas(パンダス)の実装 In[11]
# Left joinn
# 左側Seven店舗、右側がお菓子マスタ
store_name_seven_left_join=pandas.merge(store_name_seven,sweet_master[["sweet_id","sweet_name"]], on="sweet_id",how="left")
store_name_seven_left_join
Pandas(パンダス)の実装 In[12]
# Left joinn
# 左側familymart店舗、右側がお菓子マスタ
store_name_familymart_left_join=pandas.merge(store_name_familymart,sweet_master[["sweet_id","sweet_name"]], on="sweet_id",how="left")
store_name_familymart_left_join
Pandas(パンダス)の実装 In[13]
# お菓子マスタにSeven店舗とFamilyMart店舗をJoinする
# 左側がお菓子マスタで、右側がSeven店舗
sweet_saven_left_join=pandas.merge(sweet_master,store_name_seven[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="left")
# 左側上記結果で、右側がFamilyMart店舗
sweet_store_all=pandas.merge(sweet_saven_left_join,store_name_familymart[["sweet_id","store_id","store_name","order_count"]], on="sweet_id",how="left")
sweet_store_all