[英]Replace specific values in pandas dataframe with the corresponding column name, based on a condition,
[英]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.