[英]Pandas: Split string on last occurrence
我試圖根據分隔符在熊貓數據框中拆分一列,並獲取最后一節。
熊貓具有str.rsplit和str.rpartition功能。
如果我嘗試:
df_client["Subject"].str.rsplit("-", 1)
我懂了
0 [活動-位置,用戶代碼]
1 [活動-位置,用戶代碼]
如果我嘗試
df_client["Subject"].str.rpartition("-")
我懂了
0 1 2
0活動-位置-用戶代碼
1活動-位置-用戶代碼
如果我做
df_client["Subject"].str.rpartition("-")[2]
我懂了
0個用戶代碼
這就是我想要的。
在我看來,str.rsplit似乎並不直觀。
獲取拆分字符串列表之后,我該如何選擇所需的單個項目?
#select last lists
df_client["Subject"].str.rsplit("-", 1).str[-1]
#select second lists
df_client["Subject"].str.rsplit("-", 1).str[1]
如果性能很重要,請使用list comprehension
:
df_client['last_col'] = [x.rsplit("-", 1)[-1] for x in df_client["Subject"]]
print (df_client)
Subject last_col
0 Activity-Location-UserCode UserCode
1 Activity-Location-UserCode UserCode
使用expand=True
:
df_client["Subject"].str.split('-', expand=True)[2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.