Pandas DataFrameを共通の列でマージする方法【merge()関数の使い方】
Pandasで2つのDataFrame(データフレーム)を共通の列をキーに結合(マージ)するには、merge() 関数を使用し、on パラメータに共通の列名を指定します。
まず、pandasライブラリをエイリアス付きでインポートしましょう。
import pandas as pd
次に、1つ目のDataFrameを作成します。
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)続いて、2つ目のDataFrameを作成します。
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)ここで、共通の列である「Car」をキーにして、2つのDataFrameをマージします。
mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car')
なお、デフォルトでは内部結合(inner join)が行われるため、両方のDataFrameに存在しない値(この例では「Bentley」と「Mercedes」)は結果から除外される点に注意してください。
完全なコード例
以下が全体のコードです。
import pandas as pd
# DataFrame1 を作成
dataFrame1 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
"Units": [100, 150, 110, 80, 110, 90]
}
)
print("DataFrame1 ...\n", dataFrame1)
# DataFrame2 を作成
dataFrame2 = pd.DataFrame(
{
"Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Mercedes', 'Jaguar'],
"Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
}
)
print("\nDataFrame2 ...\n", dataFrame2)
# 共通の列 Car をキーにDataFrameをマージ
mergedRes = pd.merge(dataFrame1, dataFrame2, on='Car')
print("\n共通の列でマージしたDataFrame ...\n", mergedRes)出力結果
上記のコードを実行すると、次のような出力が得られます。
DataFrame1 ...
Car Units
0 BMW 100
1 Lexus 150
2 Audi 110
3 Mustang 80
4 Bentley 110
5 Jaguar 90
DataFrame2 ...
Car Reg_Price
0 BMW 7000
1 Lexus 1500
2 Audi 5000
3 Mustang 8000
4 Mercedes 9000
5 Jaguar 6000
共通の列でマージしたDataFrame ...
Car Units Reg_Price
0 BMW 100 7000
1 Lexus 150 1500
2 Audi 110 5000
3 Mustang 80 8000
4 Jaguar 90 6000-
【Python】Pandas DataFrameでアイテムセットの頻度をカウントする方法|value_counts()の使い方
PandasでDataFrame内のアイテムセット(各列の値)の出現頻度をカウントしたい場合は、Series.value_counts()メソッドを使うのが最も簡単です。このメソッドは、指定した列に含まれる一意な値とその出現回数を、多い順に並べて返してくれます。 サンプルDataFrameの作成 まずは、車種・販売地域・販売台数を含むサンプルDataFrameを作成しましょう。 # DataFrameの作成 dataFrame = pd.DataFrame({Car: [BMW, Mercedes, Lamborghini, Audi, Mercedes, Porsche, Lamborghi
-
Pandas DataFrameでタイムスタンプを生成・処理する方法
この記事では、pandasライブラリの組み込み機能を使って、さまざまなタイムスタンプを生成・処理する方法を解説します。さらに、numpyモジュールも活用して、タイムスタンプ生成に必要なデータの作成や加工を行います。推奨環境:Jupyter Notebookチュートリアルを始める前に、pandasとnumpyライブラリをインストールしておく必要があります。コードのテストと実行には、Jupyter Notebookが最適です。pandasをインストールするには、以下のコマンドを実行しましょう。>>> pip install pandasこのコマンドを実行すると、必要な依存パッケー