簡體   English   中英

熊貓:最后一次出現時分割字符串

[英]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似乎並不直觀。

獲取拆分字符串列表之后,我該如何選擇所需的單個項目?

我認為需要通過str與可迭代對象一起建立索引

#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.

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