gpt4 book ai didi

python - 包含 'flexible' 模式的子集字符串行

转载 作者:行者123 更新时间:2023-12-02 20:04:04 25 4
gpt4 key购买 nike

我有以下 df。

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

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

我想要对包含模式 'D' + '[W 的数量]' + 'D' 的行进行子集化。我想要在输出 df 中出现的行示例:DWDDWWWWWWWWWWWWWDWWWWWDWDW...

我想出了以下内容,但它实际上不适用于“无论 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

关于python - 包含 'flexible' 模式的子集字符串行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60484431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com