パンダ: 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
miss1とmiss2が等しい行のみが選択されることに注意してください。
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
miss1とmiss2が等しくない行のみが選択されることに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandas で列の名前を変更する方法
Pandas DataFrame に列を追加する方法
Pandas DataFrame で列の順序を変更する方法