簡體   English   中英

使用時區 pandas 將 time_utc 轉換為本地時間

[英]convert time_utc to local time with timezone pandas

我想根據Local_timezone變量將可變時間 UTC 轉換為本地時間。

我有一個帶有變量TIMEZONE的 dataframe data_df和帶有變量time_utc 我想在我的 dataframe 中創建一個 local_time 變量。

TIMEZONE是一個字符串, time_utc是一個日期時間。

我這樣做:

local_timezone = time_df['TIMEZONE']

data_df.loc[data_df['time_utc'].tz_convert(local_timezone), 'local_time']

我有這個錯誤:

TypeError: index is not a valid DatetimeIndex or PeriodIndex

假設您已經將data_dftime_df合並。 這意味着您的data_df將具有time_utcTIMEZONE等。

例如

local_timezone = time_df['TIMEZONE']
local_timezone = local_timezone.to_frame('TIMEZONE')
data_df = pd.concat([data_df , local_timezone], axis=1)

要將time_utc的時區轉換為本地時間,請使用apply()將時區應用於每個值。

def set_timezone(row):
    return row['time_utc'].tz_convert(row['TIMEZONE'])

data_df['local_time'] = data_df.apply(lambda x: set_timezone(x), axis = 1)

OUTPUT

前:

>>> data_df
                   time_utc      TIMEZONE
0 2021-12-03 01:33:00+00:00  Europe/Paris
1 2021-12-03 03:50:00+00:00  Europe/Paris

后:

>>> data_df['local_time'] = data_df.apply(lambda x: set_timezone(x), axis = 1)
>>> data_df
                   time_utc      TIMEZONE                local_time
0 2021-12-03 01:33:00+00:00  Europe/Paris 2021-12-03 02:33:00+01:00
1 2021-12-03 03:50:00+00:00  Europe/Paris 2021-12-03 04:50:00+01:00

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM