パンダ: 値でシリーズをフィルターする方法


次のメソッドを使用して、pandas シリーズの値をフィルタリングできます。

方法 1: 単一の条件に基づいて値をフィルターする

 #filter for values equal to 7
my_series. loc [ lambda x:x == 7]

方法 2: 「OR」条件を使用して値をフィルターする

 #filter for values less than 10 or greater than 20
my_series. loc [ lambda x: (x < 10) | (x > 20)]

方法 3: 「AND」条件を使用して値をフィルターする

 #filter for values greater than 10 and less than 20
my_series. loc [ lambda x: (x > 10) & (x < 20)] 

方法 4: リストに含まれる値をフィルターする

 #filter for values that are equal to 4, 7, or 23
my_series[my_series. isin ([4, 7, 23])]

このチュートリアルでは、次の pandas シリーズで実際に各メソッドを使用する方法を説明します。

 import pandas as pd

#create pandas Series
data = pd. Series ([4, 7, 7, 12, 19, 23, 25, 30])

#view pandas Series
print (data)

0 4
1 7
2 7
3 12
4 19
5 23
6 25
7 30
dtype: int64

例 1: 条件に基づいて値をフィルターする

次のコードは、7 に等しい値の pandas シリーズをフィルターする方法を示しています。

 #filter for values equal to 7
data. loc [ lambda x:x == 7]

1 7
2 7
dtype: int64

7 に等しくない値をフィルタリングすることもできます。

 #filter for values not equal to 7
data. loc [ lambda x:x != 7]

0 4
3 12
4 19
5 23
6 25
7 30
dtype: int644

例2: 「OR」条件を使用して値をフィルタリングする

次のコードは、pandas シリーズを 10 未満または20 を超える値でフィルターする方法を示しています。

 #filter for values less than 10 or greater than 20
data. loc [ lambda x: (x < 10) | (x > 20)]

0 4
1 7
2 7
5 23
6 25
7 30
dtype: int64

例 3: 「AND」条件を使用して値をフィルターする

次のコードは、pandas シリーズを 10 より大きく 20未満の値でフィルターする方法を示しています。

 #filter for values greater than 10 and less than 20
data. loc [ lambda x: (x > 10) & (x < 20)]

3 12
4 19
dtype: int64

例 4: リストに含まれる値をフィルタリングする

次のコードは、リストに含まれる値の pandas シリーズをフィルターする方法を示しています。

 #filter for values that are equal to 4, 7, or 23
data[data. isin ([4, 7, 23])]

0 4
1 7
2 7
5 23
dtype: int64

追加リソース

次のチュートリアルでは、Python で他の一般的なフィルタリング操作を実行する方法について説明します。

特定の文字列を含む Pandas DataFrame 行をフィルタリングする方法
複数の条件で Pandas DataFrame をフィルタリングする方法
Pandas DataFrame で「NOT IN」フィルターを使用する方法

コメントを追加する

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