pandasフィルタ特定の要素を含む行または列str.contains()関数
7631 ワード
データの処理中に特定の文字列を検索する必要があるという問題が発生しました.ついでに、strでフィルタする必要がある列を文字形式に変換し、contains()関数でフィルタします.次の例を見てDataFrameを作成します.
次に、A列にアルファベットrが含まれている行をフィルタしたいので、str.contains()関数を利用して、strは文字列処理方式を表しています.
contains()はブール型の数値を返し,その後は単純なブール演算であることがわかる.
合計コード
df = pd.DataFrame({'A':['aasd','sb','adg','sfh','rh'],'B':np.arange(5)})
print(df)
out:
A B
0 aasd 0
1 sb 1
2 adg 2
3 sfh 3
4 rh 4
次に、A列にアルファベットrが含まれている行をフィルタしたいので、str.contains()関数を利用して、strは文字列処理方式を表しています.
print(df['A'].str.contains('r'))
out:
0 False
1 False
2 False
3 False
4 True
Name: A, dtype: bool
contains()はブール型の数値を返し,その後は単純なブール演算であることがわかる.
print(df[df['A'].str.contains('r')])
out:
A B
4 rh 4
合計コード
df = pd.DataFrame({'A':['aasd','sb','adg','sfh','rh'],'B':np.arange(5)})
print(df)
print('————————')
print(df['A'].str.contains('r'))
print('————————')
print(df[df['A'].str.contains('r')])
out:
A B
0 aasd 0
1 sb 1
2 adg 2
3 sfh 3
4 rh 4
————————
0 False
1 False
2 False
3 False
4 True
Name: A, dtype: bool
————————
A B
4 rh 4