这个问题被标记为已经回答,但以前没有得到回答。这两个相互关联的答案并不能解决我在此提出的问题。例如,时区是数据中所有记录的给定常量,而时区是使用标准时区格式指定的,比如美国/洛杉矶,但这不适用于我的时区是以小时为单位列出的差异,而且这种差异并不是所有记录的常量。
我有一个熊猫数据框架,其中包含两个字段: UTC列出的小时,以及列出为-5:00的本地时区(例如)。我想修改数据帧,以便它创建一个包含本地时间的新字段。
data = [['7:00', '-5:00'], ['6:30', '-5:00'], ['8:00', '-6:00']]
df = pd.DataFrame(data, columns = ['Hour', 'TimeZone'])
我尝试将TimeZone转换为整数,然后将usig转换为
df['LocalTime'] = pd.to_datetime(df['Hour'])-datetime.timedelta(hours = df['TimeZone')但这对我不起作用
我还尝试将时区转换为整数(因为在本例中,我知道它们只以整数的形式存在),然后我得到一个错误,指示我不能为小时输入变量使用一个序列值。
有人能帮我弄清楚我需要做什么才能做到这一点吗?
谢谢,布拉德
发布于 2021-09-07 10:12:05
尝试使用df.Hour + df.TimeZone选项转换utc=True:
df['LocalTime'] = pd.to_datetime(df.Hour + df.TimeZone, utc=True)
# Hour TimeZone LocalTime
# 0 7:00 -5:00 2021-09-07 12:00:00+00:00
# 1 6:30 -5:00 2021-09-07 11:30:00+00:00
# 2 8:00 -6:00 2021-09-07 14:00:00+00:00https://stackoverflow.com/questions/68734280
复制相似问题