[英]Extract string before certain last character
我有以下熊貓數據框:
姓名 | ID |
---|---|
AT_A | 1 |
AT_B | 2 |
AOS_PAR_F | 3 |
AOS_ROOT_LE_B | 4 |
我想創建一個新列,該列將保存最后一個“_”字符之前的“名稱”列中的字符串,並將其從原始列中刪除。
所以所需的輸出將是:
姓名 | ID | 名稱_2 |
---|---|---|
一個 | 1 | 在 |
乙 | 2 | 在 |
F | 3 | AOS_PAR |
乙 | 4 | AOS_ROOT_LE |
有任何想法嗎?
您可以使用右拆分( rsplit
):
df[['Name_2', 'Name']] = df['Name'].str.rsplit('_', 1, expand=True)
帶有正則表達式的變體:
df[['Name_2', 'Name']] = df['Name'].str.extract(r'(.*)_([^_]+)$')
輸出:
Name ID Name_2
0 A 1 AT
1 B 2 AT
2 F 3 AOS_PAR
3 B 4 AOS_ROOT_LE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.