pandasでDataFrameを内部結合(merge)
papi
pandasでDataFrameを内部結合(merge)する方法を紹介します。
キャラクターデータと属性データを属性IDで内部結合
【Excleデータ:character.xlsx characterシート】
キャラクターID | 名称 | タイプ | 属性ID | 形態 |
1978 | アシュリー | 妖精 | 3 | 契約 |
2355 | シャンゼリゼ | 妖精 | 3 | 進化 |
2495 | アーク | ドラゴン | 4 | 契約 |
【Excleデータ:character.xlsx attributeシート】
属性ID | 属性名 |
1 | 火 |
2 | 樹 |
3 | 水 |
4 | 光 |
5 | 闇 |
【コード&実行結果】
import pandas as pd df_charactor = pd.read_excel('character.xlsx',sheet_name='character') df_attribute = pd.read_excel('character.xlsx',sheet_name='attribute') df_c_a= df_charactor.merge(df_attribute, how = 'inner', on = '属性ID') print(df_c_a) df_a_c = df_attribute.merge(df_charactor, how = 'inner', on = '属性ID') print(df_a_c) <実行結果> キャラクターID 名称 タイプ 属性ID 形態 属性名 0 1978 アシュリー 妖精 3 契約 水 1 2355 シャンゼリゼ 妖精 3 進化 水 2 2495 アーク ドラゴン 4 契約 光 属性ID 属性名 キャラクターID 名称 タイプ 形態 0 3 水 1978 アシュリー 妖精 契約 1 3 水 2355 シャンゼリゼ 妖精 進化 2 4 光 2495 アーク ドラゴン 契約
【説明】
import pandas as pd
pandasを別名pdで利用出来るようにインポート。
df_charactor = pd.read_excel('character.xlsx',sheet_name='character')
ExcelファイルのcharacterシートをDataFrameに読み込み。
df_attribute = pd.read_excel('character.xlsx',sheet_name='attribute')
ExcelファイルのattributeシートをDataFrameに読み込み。
df_c_a= df_charactor.merge(df_attribute, how = 'inner', on = '属性ID')
df_charactorデータフレームにdf_attributeデータフレームを属性IDで内部結合。結合出来ない属性ID(1:火、2:樹、5:闇)の行は結合結果からは削除される。
df_c_a= df_charactor.merge(df_attribute)
デフォルトでhow = ‘inner’、onは同じ列名をキーとして結合が行われるため、省略しても同じ結果となる。
print(df_c_a) <実行結果> キャラクターID 名称 タイプ 属性ID 形態 属性名 0 1978 アシュリー 妖精 3 契約 水 1 2355 シャンゼリゼ 妖精 3 進化 水 2 2495 アーク ドラゴン 4 契約 光
df_charactorデータフレームに属性名列が追加したDataFrameが作成されている。
df_a_c = df_attribute.merge(df_charactor, how = 'inner', on = '属性ID')
df_attributeデータフレームにdf_charactorデータフレームを属性IDで内部結合。結合出来ない属性ID(1:火、2:樹、5:闇)の行は結合結果からは削除される。
print(df_a_c) <実行結果> 属性ID 属性名 キャラクターID 名称 タイプ 形態 0 3 水 1978 アシュリー 妖精 契約 1 3 水 2355 シャンゼリゼ 妖精 進化 2 4 光 2495 アーク ドラゴン 契約
df_attributeデータフレームにキャラクターID列、名称列、タイプ列、形態列が追加したDataFrameが作成されている。
お得情報
節約しながらゲームやサイト構築をされたい方は、ポイントサイトを利用するといいですよ!オーブをお得にゲット!
ポイントサイトの利用でオーブをお得にGET! ポイントサイトとは ポイントサイトとは、簡単に言うと広告会社です! 提携広告主との取り決めの広告料の一部を利用者に還元するサービスを提供することで 広告主と利用者をつないでいます。ポイントサイト...
【完全攻略】ウェル活・ウエル活とは
ウェル活とは 薬局のウエルシアで毎月20日にTポイント1.5倍分の買い物ができる制度を利用してお得にお買い物する活動の事を言います。 ウェルシアに置いてある商品すべてが33%オフになるという超お得なウェルシアデー ↑実際の戦利品これ全てがタ...
コメント