パンダ: 2 つの異なる dataframe の列を比較する方法
次のメソッドを使用して、2 つの異なるパンダ データフレームの列を比較できます。
方法 1: 列間で一致する値を数える
df1[' my_column ']. isin (df2[' my_column ']). value_counts ()
方法 2: 列間で一致する値を表示する
p.d. merge (df1, df2, on=[' my_column '], how=' inner ')
次の例は、次の pandas DataFrame で各メソッドを使用する方法を示しています。
import numpy as np import pandas as pd #create first DataFrame df1 = pd. DataFrame ({' team ': ['Mavs', 'Rockets', 'Spurs', 'Heat', 'Nets'], ' points ': [22, 30, 15, 17, 14]}) #view DataFrame print (df1) team points 0 Mavs 22 1 Rockets 30 2 Spurs 15 3 Heat 17 4 Nets 14 #create second DataFrame df2 = pd. DataFrame ({' team ': ['Mavs', 'Thunder', 'Spurs', 'Nets', 'Cavs'], ' points ': [25, 40, 31, 32, 22]}) #view DataFrame print (df2) team points 0 Mavs 25 1 Thunder 40 2 Spurs 31 3 Nets 32 4 Cavs 22
例 1: 列間で一致する値を数える
次のコードは、各 DataFrame のチーム列間で一致する値の数をカウントする方法を示しています。
#count matching values in team columns
df1[' team ']. isin (df2[' team ']). value_counts ()
True 3
False 2
Name: team, dtype: int64
2 つの DataFrame には、共通の3 つのチーム名と2 つの異なるチーム名があることがわかります。
例 2: 列間で一致する値を表示する
次のコードは、各 DataFrame のチーム列間の実際の一致値を表示する方法を示しています。
#display matching values between team columns
p.d. merge (df1, df2, on=[' team '], how=' inner ')
team points_x points_y
0 Mavs 22 25
1 Spurs 15 31
2 Nets 14 32
結果から、両方の DataFrame のチーム列に共通して次の値があることがわかります。
- マブス
- スパーズ
- ネット
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandas で列の名前を変更する方法
Pandas DataFrame に列を追加する方法
Pandas DataFrame で列の順序を変更する方法