3 回答

TA貢獻1890條經驗 獲得超9個贊
這是一個用于刪除括號下任何內容的單行:
df['New_Name'] = df['Name'].str.replace(r"\(.*\)","")
輸出:
>>df
id Name New_Name
100263 Test Index (UHD) Test Index
100264 Test Num Test Num

TA貢獻1840條經驗 獲得超5個贊
假設您只有一個括號組件,您可以像這樣簡化調用
data[ 'New_Name' ] = data.Name.apply( lambda s: s.split( '(', 1 )[ 0 ].strip() )

TA貢獻1829條經驗 獲得超13個贊
這是一個簡單的解決方案 regex
regex = re.compile(r'.*?(\(.*?\))')
def strip_brackets(x):
result = re.findall(regex, x)
for r in result:
x = x.replace(r, '')
return ' '.join(x.split())
df = pandas.DataFrame({'Name' : ['Test Index (UHD)', 'Test Num', 'More (foo) complicated (bar) case']})
df['NewName'] = df['Name'].apply(strip_brackets)
print(df)
Name NewName
0 Test Index (UHD) Test Index
1 Test Num Test Num
2 More (foo) complicated (bar) case More complicated case
添加回答
舉報