「柔軟な」パターンを含むサブセットの文字列の列

PRP:

私は、次のDFを持っています。

data = [
    ['DWWWWD'],
    ['DWDW'],
    ['WDWWWWWWWWD'],
    ['DDW'],
    ['WWD'],
]

df = pd.DataFrame(data, columns=['letter_sequence'])

私は、パターンを含む行をサブセットしたいです'D' + '[whichever number of W's]' + 'D'私は私の出力DFにする行の例:DWDDWWWWWWWWWWWDWWWWWDWDW...

私は、次のを思い付いたが、それは本当に「Wさんの方数」のために動作しません。

df[df['letter_sequence'].str.contains(
    'DWD|DWWD|DWWWD|DWWWWD|DWWWWWD|DWWWWWWD|DWWWWWWWD|DWWWWWWWWD', regex=True
)]

所望の出力new_df

    letter_sequence
0   DWWWWD
1   DWDW
2   WDWWWWWWWWD

任意の代替?

エズレル:

使用[W]{1,}一つ以上についてはWregex=Trueデフォルトであるので、オミットする必要があります:

df = df[df['letter_sequence'].str.contains('D[W]{1,}D')]
print (df)
  letter_sequence
0          DWWWWD
1            DWDW
2     WDWWWWWWWWD

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=19634&siteId=1