3
pandas.DataFrame.replace
正則表達式是否支持通配符和「捕獲組」?pandas.DataFrame.replace with wildcards
例如,用\2\1
代替([A-Z])(\w+)
?
支持哪種正則表達式? Perl的正則表達式是否受支持?例如,確定與\l\1\2
更換([A-Z])(\w+)
(\l
:更改下一個字符爲小寫)
UPDATE:
正如史蒂夫指出,根據Python documentation,它應該工作,但以下是不給我我的預期:
df = pd.DataFrame({'A': np.random.choice(['foo', 'bar'], 100),
'B': np.random.choice(['one', 'two', 'three'], 100),
'C': np.random.choice(['I1', 'I2', 'I3', 'I4'], 100),
'D': np.random.randint(-10,11,100),
'E': np.random.randn(100)})
df.replace("f(.)(.)","b\1\2", regex=True,inplace=True)
怎麼了?
THX
你需要在正則表達式中使用原始字符串!反斜槓正在逃避字符串中的1和2個字符!這應該工作:'df.replace(r「f(。)(。)」,r「b \ 1 \ 2」,regex = True,inplace = True)'注意第一個參數的原始字符串是過度殺傷性的,但你應該進入使用正則表達式的習慣 –
BINGO!謝謝!! – xpt