我要导入的CSV文件包含未格式化的数据集,日期和时间是分开的,但数据类型是对象,并且时间的时区不正确。
此原始数据集的时区为EET,目前与东部标准时间相差7小时(有时在夏令时期间为6小时)
我尝试将对象转换为日期时间格式,并将时区转换为东部标准时间,使日期和时间位于单独的列中。
我的代码片段如下:
将日期列转换为日期时间格式
df['date'] = pd.to_datetime(df['date'])
上面的代码成功地将date列转换为datetime数据类型great。
我的问题是当我和时间专栏一起工作的时候。
我无法使用.split()
分隔日期和时间,
时区不准确,所以我使用不同的时区来补偿,以说明我正在寻找的-7小时(我们/山似乎产生了我需要的-7小时)
将时间列转换为日期时间数据类型
df["time"] = pd.to_datetime(
df["time"],
infer_datetime_format = True
)
将时间列转换为美国/东部时区
df["time"] = df["time"].dt.tz_localize("US/Mountain")
结果,输出为:2022年12月3日23时55分至7时
我正在寻找一个输出16:55或甚至16:55:00是罚款以及。
我的问题是,在日期时间格式中,如何将时间与日期分开,并减去-7:00,以便输出为16:55(或16:55:00)
我已尝试使用:
df['time'].to_datetime().strftime('%h-%m')
并收到以下错误:
第一个
提供以下输出
第一个
返回原始时间'23:55:00'
需要说明的是,我查找的只是转换时间的输出,例如16:55。我不需要23:55:00-07:00
我正在寻找一个日期时间的输出拆分到正确时区的单独列
例如:
date | time
------ ------
2022-12-02 | 16:55
1条答案
按热度按时间n8ghc7c11#
样品:
密码:
输出: