簡體   English   中英

時間格式為 0:00:00 (h:mm:ss) 的 pandas datetime

[英]pandas datetime with time format as 0:00:00 (h:mm:ss)

我正在尋找使用以下格式為日期創建新行:

2022-07-20 0:00:00

所以基本上,今天的日期和時間為h:mm:ss ,都為 0

我正在嘗試使用pd.to_datetime('today')但時間是我當前的時間而不是 0。我也嘗試使用相同的代碼但使用.normalize()然后我的時間消失了,只剩下日期了。

有沒有辦法做到這一點?

您可以采取幾種方法。 我認為在大多數情況下,這實際上取決於您喜歡什么,或者最適合您的用例。

from datetime import datetime, date

datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)

datetime.fromordinal(date.today().toordinal())

datetime.combine(date.today(), datetime.time(datetime.min))
>>> datetime.datetime(2022, 7, 20, 0, 0)
>>> datetime.datetime(2022, 7, 20, 0, 0)
>>> datetime.datetime(2022, 7, 20, 0, 0)

如果您的數據框是 df,請嘗試:

from datetime import datetime
df['time'] = datetime.(year= ..., month= ..., day= ...)

也許我誤解了,但這是否符合您的要求?

import pandas as pd
dtrng = pd.date_range('2022-07-01', periods=31, freq='D')
df = pd.DataFrame({'Date' : dtrng})
df['DateTime'] = df.Date.dt.strftime('%Y-%m-%d %H:%M:%S')
df['DateHMSutc'] = pd.to_datetime(df['Date'], format='%Y-%m-%d %H:%M:%S', utc=True)
df.head()

    Date        DateTime                DateHMSutc
0   2022-07-01  2022-07-01 00:00:00     2022-07-01 00:00:00+00:00
1   2022-07-02  2022-07-02 00:00:00     2022-07-02 00:00:00+00:00
2   2022-07-03  2022-07-03 00:00:00     2022-07-03 00:00:00+00:00
3   2022-07-04  2022-07-04 00:00:00     2022-07-04 00:00:00+00:00
4   2022-07-05  2022-07-05 00:00:00     2022-07-05 00:00:00+00:00

df.dtypes

Date               datetime64[ns]
DateTime                   object
DateHMSutc    datetime64[ns, UTC]
dtype: object

暫無
暫無

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

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