簡體   English   中英

根據某些條件更新pandas數據幀列中的特定位置

[英]Update a specific position in a column of a pandas dataframe based on some condition

例如,我的一個數據框列中包含如下數據:

29-APR-19 11.50.00.000000000 PM

29-APR-19 11.50.00.000000000 AM

因此,我需要將具有PM的列更新為:

29-APR-19 23.50.00.000000000 PM

我們怎么做?

我已嘗試將列格式化為特定的日期格式類型,但無法找到解決方案。

如果需要相同的格式,則需要在12:00:00添加12小時的日期時間。

解決方案是首先按to_datetime轉換列,然后按條件添加12小時,對於相同的格式使用Series.dt.strftime

print (df)
                              Date
0  29-APR-19 11.50.00.000000000 PM
1  29-APR-19 11.50.00.000000000 AM

df['Date'] = pd.to_datetime(df['Date'], format='%d-%b-%y %I.%M.%S.%f %p') 
df.loc[df['Date'].dt.hour < 12] += pd.Timedelta(12, 'h')

df['Date'] = df['Date'].dt.strftime('%d-%b-%y %I.%M.%S.%f %p')
print (df)

                           Date
0  29-Apr-19 11.50.00.000000 PM
1  29-Apr-19 11.50.00.000000 PM

暫無
暫無

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

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