[英]Extract everything to the left 2nd occurance of a character in pandas dataframe
我有以下 dataframe 列:
df:
Text
0 J Smith abc def
1 T Smith hij klm
2 A Smith xy z
我希望將第二個空格之前的所有內容提取為一個新列:
預計 output:
Text Name
0 J Smith abc def J Smith
1 T Smith hij klm T Smith
2 A Smith xy z A Smith
我嘗試了以下方法( Text
中的某些項目可能是空白的,因此 if 語句):
df['Name'] = df.Text.apply(lambda x: x.split(" ")[0:1] if len(x) >0 else 0 )
但沒有這樣的運氣。 關於如何讓它工作的任何想法?
使用Series.str.split
然后使用str[:2]
從列表中獲取前 2 個元素,然后使用str.join
將字符串重新連接在一起:
df["Name"] = df["Text"].str.split(" ").str[:2].str.join(" ")
Text Name
0 J Smith abc def J Smith
1 T Smith hij klm T Smith
2 A Smith xy z A Smith
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.