パンダ: 2 つの値の間の行を選択する方法


次の基本構文を使用して、列が 2 つの特定の値の間にあるパンダ データフレーム内の行を選択できます。

 df_filtered = df[df[' points ']. between ( 25 , 35 )]

この特定の例では、ポイント列の値が 25 ~ 35あるすべての行を選択します。

代わりに、ポイント列の値が 25 ~ 35の範囲にない行を選択する場合は、列名の前にチルダ ( ~ ) を追加できます。

 df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

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

例: Pandas で 2 つの値の間の行を選択する

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'],
                   ' points ': [22, 28, 35, 34, 29, 28, 23]})

#view DataFrame
print (df)

    team points
0 Mavs 22
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
6 Kings 23

次の構文を使用すると、ポイント列の値が 25 ~ 35の範囲にある行のみをデータフレームから選択できます。

 #select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

   team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28

ポイント列の値が 25 ~ 35 の行のみが選択されていることに注意してください。

between()関数には下限と上限の値が含まれることに注意してください。

たとえば、ポイント値が 35 のプレーヤーは、フィルタリングされた DataFrame に含まれていました。

代わりに、ポイント列の値が 25 から 35の間にない行のみを選択したい場合は、列名の前にチルダ ( ~ ) を追加します。

 #select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

    team points
0 Mavs 22
6 Kings 23

ポイント列の値が 25 ~ 35 の間にない行のみが選択されていることに注意してください。

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

追加リソース

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

パンダ: 2 つの列が等しい行を選択します
パンダ: ブール値系列を使用して DataFrame から行を選択します
パンダ: NaN 値を含む行を選択する

コメントを追加する

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