簡體   English   中英

在某個最后一個字符之前提取字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM