Pandas で 3 つの列を比較する方法 (例あり)
次の基本構文を使用して、pandas の 3 つの列の値を比較できます。
df[' all_matching '] = df. apply ( lambda x: x.col1 == x.col2 == x.col3 , axis = 1 )
この構文は、 all_matchingという新しい列を作成します。この列は、すべての列に一致する値がある場合はTrueを返し、そうでない場合はFalseを返します。
次の例は、この構文を実際に使用する方法を示しています。
例: Pandas の 3 つの列を比較する
次の 3 つの列を持つ pandas DataFrame があるとします。
import pandas as pd #createDataFrame df = pd. DataFrame ({' A ': [4, 0, 3, 3, 6, 8, 7, 9, 12], ' B ': [4, 2, 3, 5, 6, 4, 7, 7, 12], ' C ': [4, 0, 3, 5, 5, 10, 7, 9, 12]}) #view DataFrame print (df) ABC 0 4 4 4 1 0 2 0 2 3 3 3 3 3 5 5 4 6 6 5 5 8 4 10 6 7 7 7 7 9 7 9 8 12 12 12
次のコードを使用して、指定された行で 3 つの列すべてが一致する場合はTrueを返し、一致しない場合はFalseを返すall_matchingという新しい列を作成できます。
#create new column that displays whether or not all column values match df[' all_matching '] = df. apply ( lambda x: x. A == x. B == x. C , axis = 1 ) #view updated DataFrame print (df) ABC all_matching 0 4 4 4 True 1 0 2 0 False 2 3 3 3 True 3 3 5 5 False 4 6 6 5 False 5 8 4 10 False 6 7 7 7 True 7 9 7 9 False 8 12 12 12 True
all_matchingという新しい列は、3 つの列の値が特定の行で一致するかどうかを示します。
例えば:
- 最初の行では 3 つの値がすべて一致するため、 Trueが返されます。
- 2行目ではすべての値が一致するわけではないため、 Falseが返されます。
等々。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandas で列の名前を変更する方法
Pandas DataFrame に列を追加する方法
Pandas DataFrame で列の順序を変更する方法