パンダ: query() 関数で変数を使用する方法


次の構文を使用して、pandas でquery()関数を使用し、変数名を参照できます。

 df. query (' team == @team_name ')

この特定のクエリは、pandas DataFrame 内で、チーム列がteam_nameという変数に格納されている値と等しい行を検索します。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas クエリで変数を使用する方法

さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#view DataFrame
print (df)

   team position points
0 AG 22
1 AG 25
2 AF 24
3 BG 39
4 BF 34
5 BF 20
6 BF 18
7 GC 17
8 GC 20
9 CF 19
10 CF 22

ここで、チーム列の値が C に等しい行を検索するとします。

次の構文を使用して、「C」に等しいteam_nameという変数を作成し、この変数をquery()関数で参照できます。

 #specify team name to search for
team_name = ' C '

#query for rows where team is equal to team_name
df. query (' team == @team_name ')

        team position points
7 C G 17
8 C G 20
9 C F 19
10 C F 22

query()関数は、チーム列の値が C に等しいすべての行を返すことに注意してください。

また、必要に応じて、 query()関数で複数の変数を参照できることにも注意してください。

たとえば、次のコードは、 query()関数を使用して、 team列の値がteam_Aという変数またはteam_Cという変数の値と等しいすべての行を返す方法を示しています。

 #create two variables
team_A = ' A ' 
team_C = ' C '

#query for rows where team is equal to either of the two variables
df. query (' team == @team_A | team == @team_C ')

        team position points
0 A G 22
1 A G 25
2 A F 24
7 C G 17
8 C G 20
9 C F 19
10 C F 22

クエリは、 teamが指定した 2 つの変数のいずれかに格納されている値と等しい DataFrame 内のすべての行を返します。

: pandas query()関数の完全なドキュメントはここで見つけることができます。

追加リソース

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

Pandas: 文字列の長さに基づいて行をフィルタリングする方法
Pandas: 条件に基づいて行を削除する方法
パンダ: 「NO IN」フィルターの使用方法

コメントを追加する

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