尝试将 CSV 文件中的列从 UTC 时间转换为 US/Pacific 时间
Trying to convert a column in a CSV file from UTC time to US/Pacific time
所以我的任务是读取 CSV 文件并将发送电子邮件的时间列转换为新时区(从 UTC 到太平洋时间)我觉得我已经尝试了所有方法,我当前的代码出错了是
df_emails = df_emails.EmailSentDateTimeUtc.dt.tz_localize('US/Eastern', ambiguous='infer')
我已经尝试将 ambiguous 设置为 true 以及 raise,“EmailSentDateTimeUtc”列已转换为 datetime64[ns]
我正在尝试本地化到东部,然后转换到太平洋。
该代码抛出的错误是
AmbiguousTimeError: 2018-11-04 01:58:16.743000
在这里慢慢失去理智,非常感谢任何帮助!
如果您读取 date/time UTC 数据,您应该在导入时/从字符串转换为日期时间数据类型时指定。然后转换到另一个时区不会导致任何错误。
EX:
import pandas as pd
df_emails = pd.DataFrame({"EmailSentDateTimeUtc": ["2018-11-04 01:58:16.743000"]})
# to datetime, and specifiy that input is UTC
df_emails.EmailSentDateTimeUtc = pd.to_datetime(df_emails.EmailSentDateTimeUtc, utc=True)
# now you can convert easily like
df_emails.EmailSentDateTimeUtc = df_emails.EmailSentDateTimeUtc.dt.tz_convert('US/Eastern')
# df_emails
# EmailSentDateTimeUtc
# 0 2018-11-03 21:58:16.743000-04:00
所以我的任务是读取 CSV 文件并将发送电子邮件的时间列转换为新时区(从 UTC 到太平洋时间)我觉得我已经尝试了所有方法,我当前的代码出错了是
df_emails = df_emails.EmailSentDateTimeUtc.dt.tz_localize('US/Eastern', ambiguous='infer')
我已经尝试将 ambiguous 设置为 true 以及 raise,“EmailSentDateTimeUtc”列已转换为 datetime64[ns]
我正在尝试本地化到东部,然后转换到太平洋。
该代码抛出的错误是
AmbiguousTimeError: 2018-11-04 01:58:16.743000
在这里慢慢失去理智,非常感谢任何帮助!
如果您读取 date/time UTC 数据,您应该在导入时/从字符串转换为日期时间数据类型时指定。然后转换到另一个时区不会导致任何错误。
EX:
import pandas as pd
df_emails = pd.DataFrame({"EmailSentDateTimeUtc": ["2018-11-04 01:58:16.743000"]})
# to datetime, and specifiy that input is UTC
df_emails.EmailSentDateTimeUtc = pd.to_datetime(df_emails.EmailSentDateTimeUtc, utc=True)
# now you can convert easily like
df_emails.EmailSentDateTimeUtc = df_emails.EmailSentDateTimeUtc.dt.tz_convert('US/Eastern')
# df_emails
# EmailSentDateTimeUtc
# 0 2018-11-03 21:58:16.743000-04:00