我正在尝试按最后一个
' - '
拆分一列,并且所有字符串字母均为大写。下面,我有一个 df ,其中 Value
包含连接项目的各种组合。我想将列分成两个单独的列。简单来说,就是最后一个' - '
之前的所有内容。我有 Last
正确,但不正确 First
。
df = pd.DataFrame({
'Value': [
'Juan-Diva - HOLLS',
'Carlos - George - ESTE BAN',
'Javier Plain - Hotham Ham - ALPINE',
'Yul - KONJ KOL MON'
],
})
df[['First', 'l']] = df['Value'].str.split(' - ', n=1, expand=True)
df['Last'] = df['Value'].str.split('- ').str[-1]
预期输出:
First Last
0 Juan-Diva HOLLS
1 Carlos - George ESTE BAN
2 Javier Plain - Hotham Ham ALPINE
3 Yul KONJ KOL MON
IIUC,你应该使用
.str.rsplit
:
df[["First", "Last"]] = df["Value"].str.rsplit(" - ", n=1, expand=True)
print(df)
打印:
Value First Last
0 Juan-Diva - HOLLS Juan-Diva HOLLS
1 Carlos - George - ESTE BAN Carlos - George ESTE BAN
2 Javier Plain - Hotham Ham - ALPINE Javier Plain - Hotham Ham ALPINE
3 Yul - KONJ KOL MON Yul KONJ KOL MON