パンダ: 特定の値と等しくない列によるフィルター


次のメソッドを使用して、列が特定の値と等しくないパンダ データフレームをフィルターできます。

方法 1: 列が特定の値と等しくないフィルター

 #filter rows where team column is not equal to 'Nets'
df_filtered = df[df[' team '] != ' Nets ']

方法 2: 列がいくつかの特定の値と等しくない場合にフィルターする

 #filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings'
df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])]

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

 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

例 1: 列が特定の値と等しくないフィルター

次の構文を使用して、データフレームをフィルタリングして、チーム列が「Nets」に等しくない行のみを含めることができます。

 #filter rows where team column is not equal to 'Nets'
df_filtered = df[df[' team '] != ' Nets ']

#view filtered DataFrame
print (df_filtered)

    team points
0 Mavs 22
1 Mavs 28
4 Heat 29
5 Heat 28
6 Kings 23

チーム名が「Nets」であるすべての行がデータフレームからフィルタリングされたことに注意してください。

: 記号!= は、 pandas では「等しくない」を表します。

例 2: 列がいくつかの特定の値と等しくないフィルター

次の構文を使用して、チーム列が「Nets」、「Mavs」、または「Kings」に等しくない行のみを含むようにデータフレームをフィルターできます。

 #filter rows where team column is not equal to 'Nets', 'Mavs' or 'Kings'
df_filtered = df[ ~ df[' team ']. isin ([' Nets ', ' Mavs ', ' Kings '])]

#view filtered DataFrame
print (df_filtered)

   team points
4 Heat 29
5 Heat 28

チーム名が「Nets」、「Mavs」、または「Kings」であるすべての行がデータフレームからフィルターされたことに注意してください。

: 記号~はパンダの「いいえ」を表します。

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

追加リソース

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

パンダ: ピボット テーブルにフィルターを追加する方法
パンダ: 「次の内容を含まない」をフィルタリングする方法
パンダ: 特定の文字列を含む行をフィルターする方法

コメントを追加する

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