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 で列の順序を変更する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です