パンダ: 文字列に複数の部分文字列が含まれているかどうかを確認します


次のメソッドを使用して、pandas DataFrame の文字列に複数の部分文字列が含まれているかどうかを確認できます。

方法 1: 文字列に複数の部分文字列のいずれかが含まれているかどうかを確認する

 df[' string_column ']. str . contains (' | ' .join ([' string1 ',' string2 ']))

方法 2: 文字列に複数の部分文字列が含まれているかどうかを確認する

 df[' string_column ']. str . contains ( r'^(?=.*string1)(?=.*string2)' )

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Good East Team', 'Good West Team', 'Great East Team',
                             'Great West Team', 'Bad East Team', 'Bad West Team'],
                   ' points ': [93, 99, 105, 110, 85, 88]})

#view DataFrame
print (df)

              team points
0 Good East Team 93
1 Good West Team 99
2 Great East Team 105
3 Great West Team 110
4 Bad East Team 85
5 Bad West Team 88

1:文字列に複数の部分文字列のいずれかが含まれているかどうかを確認する

次の構文を使用して、チーム列の各文字列に「Good」または「Is」の部分文字列が含まれているかどうかを確認できます。

 #create new column that checks if each team name contains 'Good' or 'East'
df[' good_or_east '] = df[' team ']. str . contains (' | ' .join ([' Good ',' East ']))

#view updated DataFrame
print (df)

              team points good_or_east
0 Good East Team 93 True
1 Good West Team 99 True
2 Great East Team 105 True
3 Great West Team 110 False
4 Bad East Team 85 True
5 Bad West Team 88 False

新しいgood_or_east列は次の値を返します。

  • チームに「Good」または「Is」が含まれている場合はTrue
  • チームに「Good」も「Is」も含まれていない場合はFalse

: |演算子はパンダでは「または」を意味します。

例 2 :文字列に複数の部分文字列が含まれているかどうかを確認する

次の構文を使用して、チーム列の各文字列に部分文字列「Good」「Is」が含まれているかどうかを確認できます。

 #create new column that checks if each team name contains 'Good' and 'East'
df[' good_and_east '] = df[' team ']. str . contains ( r'^(?=.*Good)(?=.*East)' )

#view updated DataFrame
print (df)

              team points good_and_east
0 Good East Team 93 True
1 Good West Team 99 False
2 Great East Team 105 False
3 Great West Team 110 False
4 Bad East Team 85 False
5 Bad West Team 88 False

新しい列good_and_east は次の値を返します。

  • チームに「Good」と「Is」が含まれている場合はTrue
  • チームに「Good」と「Is」が含まれていない場合はFalse

「Good」部分文字列「East」部分文字列を含むチーム名は 1 つだけであるため、 True値が 1 つだけ返されることに注意してください。

追加リソース

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

パンダ: あるデータフレームから別のデータフレームに列を追加します。
パンダ: 別の DataFrame にない行を取得する
パンダ: 複数の列が等しいかどうかを確認する方法

コメントを追加する

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