簡體   English   中英

select 來自 pandas DataFrame 的部分字符串保存在列中

[英]select a partial string from a pandas DataFrame save in a column

我需要從 pandas df 的列中提取值並將這些值保存在單獨的列中。 我需要抓住遵循特定模式的字符串。 我的數據如下所示:

name        
ADV | FashionWeek.ab
ADV | FashionWeek
ADV | ESPN.arb
ADV | ESPN.ob
ADV | ESPN

所需的 output 是:

name                        clean_name  
ADV | FashionWeek.ab       FashionWeek
ADV | FashionWeek          FashionWeek
ADV | ESPN.arb             ESPN
ADV | ESPN.ob              ESPN
ADV | ESPN                 ESPN

所以我必須抓住ADV |之后的一切。 和之前. 我試過了:

new_df["clean_name"] = df["name"].split('|')[1].lstrip().split('.')[0]

錯誤: AttributeError: 'DataFrame' object has no attribute 'split'

您的字符串邏輯正確,您只是將拆分 function 應用於 dataframe object 而不是列內的項目。 為此,您可以使用.apply function:

df["clean_name"] = df["name"].apply(lambda x: x.split('|')[1].lstrip().split('.')[0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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