簡體   English   中英

Pandas:如果其中一列中存在字符串,則將日期復制到新列

[英]Pandas: If string exists in one of the columns, copy the date to a new column

我有以下包含所有字符串的 dataframe: Current Dataframe

我想添加一個列(“接受日期”),從任何包含“現在接受”字樣的評論中捕獲日期,如下所示:

所需 Dataframe

我很感激這方面的任何幫助。

嘗試這樣的事情:

from datetime import datetime
import dateutil.parser as dparser

df= pd.DataFrame({'col1':[1,2,3],'cmnt1':["7/23/2021; bla bla Now Accepted", np.nan, "7/23/2021; updated"],'cmnt2':[np.nan,"7/25/2021; bla bla Now Accepted","7/29/2021; bla bla Now Accepted"]})

df['Accept_Date']=np.nan
for y in ['cmnt1','cmnt2']:
    df['Accept_Date'].update(df[y][df[y].str.contains("Now Accepted", na=False)])
    
df['Accept_Date'].update(df.Accept_Date.apply(lambda x: dparser.parse(x,fuzzy=True).strftime('%m/%d/%Y')))

Output:

col1 cmnt1 cmnt2 接受日期
1個 2021 年 7 月 23 日; bla bla 現已接受 07/23/2021
2個 2021 年 7 月 25 日; bla bla 現已接受 2021 年 7 月 25 日
3個 2021 年 7 月 23 日; 更新 2021 年 7 月 29 日; bla bla 現已接受 07/29/2021

暫無
暫無

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

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