パンダ: 2 つの列が等しい行を選択します


次のメソッドを使用して、パンダ データフレーム内の 2 つの列が等しい (または等しくない) 行を選択できます。

方法 1: 2 つの列が等しい行を選択する

 df. query (' column1 ==column2 ')

方法 2: 2 つの列が等しくない行を選択する

 df. query (' column1 !=column2 ')

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' painting ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' fail1 ': ['Good', 'Good', 'Bad', 'Bad', 'Good', 'Good'],
                   ' fail2 ': ['Good', 'Bad', 'Bad', 'Good', 'Good', 'Good']})

#view DataFrame
print (df)

  painting rater1 rater2
0 A Good Good
1 B Good Bad
2 C Bad Bad
3 D Bad Good
4 E Good Good
5 F Good Good

例 1: 2 つの列が等しい行を選択する

次の構文を使用すると、 rater1 列rater2列の値が等しい DataFrame 内の行のみを選択できます。

 #select rows where rater1 is equal to rater2
df. query (' rater1 ==rater2 ')

 painting rater1 rater2
0 A Good Good
2 C Bad Bad
4 E Good Good
5 F Good Good

miss1miss2が等しい行のみが選択されることに注意してください。

rater1列とrater2列に同じ値を持つ行が何行あるかを単純にカウントしたい場合は、 len()関数を使用することもできます。

 #count the number of rows where rater1 is equal to rater2
len ( df.query (' rater1 ==rater2 '))

4

これは、 miss1 列miss2列の値が等しい行が4 つあることを示しています。

例 2: 2 つの列が等しくない行を選択する

次の構文を使用すると、 rater1 列rater2列の値が等しくない DataFrame 内の行のみを選択できます。

 #select rows where rater1 is not equal to rater2
df. query (' rater1 !=rater2 ')

 painting rater1 rater2
1 B Good Bad
3 D Bad Good

miss1miss2が等しくない行のみが選択されることに注意してください。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

Pandas で列の名前を変更する方法
Pandas DataFrame に列を追加する方法
Pandas DataFrame で列の順序を変更する方法

コメントを追加する

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