我想將此資料框中的列拆分為兩列,
import pandas as pd
import re
df1 = pd.DataFrame({'Name': ['Steve _ (ICANA) Smith', 'Joe _ (ICANA) Nadal',
'Roger _ (ICANA) Federer_blu']})
我想要的輸出是:
Name First Last
0 Steve _ (ICANA) Smith Steve Smith
1 Joe _ (ICANA) Nadal Joe Nadal
2 Roger _ (ICANA) Federer_blu Roger Federer_blu
所以我想擺脫'_(ICANA)'。使用拆分,我已經完成了,
df1[['First','last']] = df1.Name.str.split(r"\b _ (ICANA)\b", expand=True)
回傳以下錯誤,
ValueError: Columns must be same length as key
uj5u.com熱心網友回復:
您的正則運算式不正確,您需要轉義括號:
df1[['First','last']] = df1.Name.str.split(r"\s*_ \(ICANA\)\s*", expand=True)
但是,為避免任何問題,最好還是使用extract,這將確保固定數量的輸出列:
df1[['First','last']] = df1.Name.str.extract(r'(\w*)\s*_ \(ICANA\)\s*(\w*)')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/426966.html
