将时间转换为 pandas 中的 UTC
convert time to UTC in pandas
我有多个csv文件,我设置了DateTime作为索引。
df6.set_index("gmtime", inplace=True)
#correct the underscores in old datetime format
df6.index = [" ".join( str(val).split("_")) for val in df6.index]
df6.index = pd.to_datetime(df6.index)
时间设置为 GMT,但我认为当我将时钟设置为 raspberry pi 时它被保存为 BST(英国夏令时)。
我想将时间倒退一小时。当我使用
df6.tz_convert(pytz.timezone('utc'))
它给出了以下错误,因为它假定时间是正确的。
Cannot convert tz-naive timestamps, use tz_localize to localize
如何将时间调到一小时?
给定包含 date/time 信息作为字符串的列,您将转换为日期时间,本地化为时区(此处:Europe/London),然后转换为 UTC。您可以在设置为索引之前执行此操作。
例如:
import pandas as pd
dti = pd.to_datetime(["2021-09-01"]).tz_localize("Europe/London").tz_convert("UTC")
print(dti) # notice 1 hour shift:
# DatetimeIndex(['2021-08-31 23:00:00+00:00'], dtype='datetime64[ns, UTC]', freq=None)
注意:设置时区意味着考虑夏令时,即在这里,在冬季,您将使用 UTC+0,在夏季使用 UTC+1。
我有多个csv文件,我设置了DateTime作为索引。
df6.set_index("gmtime", inplace=True)
#correct the underscores in old datetime format
df6.index = [" ".join( str(val).split("_")) for val in df6.index]
df6.index = pd.to_datetime(df6.index)
时间设置为 GMT,但我认为当我将时钟设置为 raspberry pi 时它被保存为 BST(英国夏令时)。 我想将时间倒退一小时。当我使用
df6.tz_convert(pytz.timezone('utc'))
它给出了以下错误,因为它假定时间是正确的。
Cannot convert tz-naive timestamps, use tz_localize to localize
如何将时间调到一小时?
给定包含 date/time 信息作为字符串的列,您将转换为日期时间,本地化为时区(此处:Europe/London),然后转换为 UTC。您可以在设置为索引之前执行此操作。
例如:
import pandas as pd
dti = pd.to_datetime(["2021-09-01"]).tz_localize("Europe/London").tz_convert("UTC")
print(dti) # notice 1 hour shift:
# DatetimeIndex(['2021-08-31 23:00:00+00:00'], dtype='datetime64[ns, UTC]', freq=None)
注意:设置时区意味着考虑夏令时,即在这里,在冬季,您将使用 UTC+0,在夏季使用 UTC+1。