PRP:
私は、次のDFを持っています。
data = [
['DWWWWD'],
['DWDW'],
['WDWWWWWWWWD'],
['DDW'],
['WWD'],
]
df = pd.DataFrame(data, columns=['letter_sequence'])
私は、パターンを含む行をサブセットしたいです'D' + '[whichever number of W's]' + 'D'
。私は私の出力DFにする行の例:DWD
、DWWWWWWWWWWWD
、WWWWWDWDW
...
私は、次のを思い付いたが、それは本当に「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,}
一つ以上についてはW
、regex=True
デフォルトであるので、オミットする必要があります:
df = df[df['letter_sequence'].str.contains('D[W]{1,}D')]
print (df)
letter_sequence
0 DWWWWD
1 DWDW
2 WDWWWWWWWWD