【发布时间】:2021-07-01 21:21:51
【问题描述】:
我有一个数据框,其中有 time 列的分钟数来自 0-1339 ,这意味着一天中有 1440 分钟。我想添加一列datetime 代表当天2021-3-21 包括hh amd mm 像这样1980-03-01 11:00 我尝试了以下代码
from datetime import datetime, timedelta
date = datetime.date(2021, 3, 21)
days = date - datetime.date(1900, 1, 1)
df['datetime'] = pd.to_datetime(df['time'],format='%H:%M:%S:%f') + pd.to_timedelta(days, unit='d')
但错误看起来像descriptor 'date' requires a 'datetime.datetime' object but received a 'int'
有没有其他方法可以解决这个问题或修复这个代码?请帮助解决这个问题。
>>df
time
0
1
2
3
..
1339
我想将此分钟转换为特定格式1980-03-01 11:00,我将使用日期2021-3-21 并将分钟转换为hhmm 部分。数据框将如下所示。
>df
datetime time
2021-3-21 00:00 0
2021-3-21 00:01 1
2021-3-21 00:02 2
...
如何以这种方式格式化我的数据?
【问题讨论】:
-
你用了什么导入?试试
from datetime import datetime -
我不清楚数据框列的样子。你说这是一个数字
0-1339,但你尝试通过pd.to_datetime(df['time'],format='%H:%M:%S:%f')解析它,格式字符串不起作用。可以附上df的样本吗? -
我试过了。但它不起作用。同样的错误。我编辑了提到导入的问题。
-
@Henry 编辑了问题
标签: python pandas datetime strptime