1

我在熊猫中有以下数据框:

在此处输入图像描述

其中:

日期列在 195-730 范围内,195='01/01/2009',196='01/02/2009' 等等,(类型=对象不是字符串)

每 30 分钟时间列在 1-48 的范围内,其中 1= 00:00:00 – 00:29:59,(类型=对象不是字符串)

我正在尝试将日期和时间列解析为像这样的正确格式

约会时间

01,01,2009 00:30

.          .
.          .
.          .

2009 年 1 月 1 日 23:30

2009 年 1 月 2 日 00:30`

我已经为日期列使用了以下代码,但结果不是我想要的,有什么建议吗?

`pd.to_datetime(df["Date"],dayfirst='01/01/09', format='%d',errors='ignore')`
4

1 回答 1

1

我编写了一个函数,它将日期和时间列中的值作为整数输入,并将它们转换为适当的 python 日期时间。

from datetime import datetime

def convertToDatetime(date_int, time_int):
    timestamp = 1230768000 + (date_int - 195) * 86400 + time_int * 1800
    return datetime.fromtimestamp(timestamp)

print(convertToDatetime(195, 3))
2009-01-01 01:30:00

print(convertToDatetime(730, 7))
2010-06-20 03:30:00

你可以像这样使用它:

df['date_proper'] = df.apply(lambda row: str(convertToDatetime(int(row['Date']), int(row['time'])).date()), axis = 1)

df['time_proper'] = df.apply(lambda row: str(convertToDatetime(int(row['Date']), int(row['time'])).time()), axis = 1)
于 2020-10-09T10:51:10.670 回答