我有這樣的:提取,並在大熊貓數據框中使用正則表達式替換子
Title
Num
0 <span class="o-label--tiny">VALEUR ÉNERGÉTIQUE</span>
1 <span class="o-label--tiny">PROTÉINES</span>
2 <span class="o-label--tiny">GLUCIDES</span>
<class 'pandas.core.frame.DataFrame'> Num Index(['Title'], dtype='object')
這就是我想要的:
Title
Num
0 VALEUR ÉNERGÉTIQUE
1 PROTÉINES
2 GLUCIDES
這是我公司開發的正則表達式:
(<span class=\"o-label--tiny\">)([a-zA-Z]+\s*\w*)(</span>)
測試它我看到它匹配整個初始字符串,併爲不同的子字符串組。最後,我希望組(2)在我的數據框列中。 (我下面的例子顯示了明確的正則表達式,但我也嘗試了re.compile結果,它不能使我得到最終結果)。
這是我曾嘗試:
df['Title'] = df['Title'].replace({'<span class=\"o-label--tiny\">': ''}, inplace=True, regex=True)
結果:
Title
Num
0 None
1 None
2 None
嘗試號碼2:
df['Title'] = df['Title'].str.replace('<span class=\"o-label--tiny\">', repl = '')
結果數2:
Title
Num
0 NaN
1 NaN
2 NaN
嘗試號碼3:
df['Title'] = df[lambda df: df.columns[0]].str.extract('(>[a-zA-Z]+\s*\w*)', expand=False)
結果3:
Title
Num
0 NaN
1 NaN
2 NaN
我真的不明白我做錯了任何讓我期望的結果幫助將不勝感激。謝謝!
您已經發布的答案? – Dark
我剛剛將此添加爲評論。你編輯它。我刪除我的回答 – Dark
@jezrael:我試過你的代碼,但都沒有爲我工作。我仍然拿到NaN而不是正確的字符串。 ?? – ChiChi