慕蓋茨4494581
2022-07-05 15:20:19
我正在嘗試從數(shù)據(jù)框中提取名稱。df.['target_name'].head()3 Minnie4 Albert [unclear]Gles[/unclear]5 Eliza [unclear]Gles[/unclear]6 John Slaltery7 [unclear]P.[/unclear] Slaltery23 ? Stewart34 John Maddison35 Herbert Olney36 William Iverach37 [unclear][/unclear]38 Peter Blacksmith39 William Oliver40 EmilyName: target_name, dtype: object這是輸出。我們只想去掉不必要的字符并獲取名稱。這就是我所做的:import redf['target_name'] = df['target_name'].astype(str) #converting it into a string. 我嘗試使用這兩種方法,但兩者都給了我相同的輸出,即 Nandf['target_name'] = df['target_name'].str.extract('([a-zA-Z ]+)', expand=False).str.strip()df['target_name3'] = df['target_name'].str.replace(r'\([^)]*\)', '').str.strip()
1 回答
楊魅力
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
這似乎對(duì)我有用。
import pandas as pd
import re
target_name = ["Minnie", "Albert [unclear]Gles[/unclear]",
"Eliza [unclear]Gles[/unclear]",
"[unclear]P.[/unclear] Slaltery", "? Stewart"]
df = pd.DataFrame(target_name, columns = ['target_name'])
df['target_name'] = df['target_name'].astype('str').str.replace(r'\/|\?','').str.replace('\[[a-z]+\]','').str.strip()
添加回答
舉報(bào)
0/150
提交
取消
