我們如何更改Pandas DataFrame中的時區?熊貓更改外匯時區DataFrame
我寫了一些簡單的代碼來讀取1分鐘EURUSD數據(日期時間/打開/高/低/關閉/卷)。示例數據在EST時區,我需要將其轉換爲UTC。
df.tz_convert(pytz.timezone('UTC'))
失敗。從DAT_ASCII_EURUSD_M1_SmallSample.csv文件,錯誤
TypeError: Cannot convert tz-naive timestamps, use tz_localize to localize
的樣本數據:
20160103 170000;1.087010;1.087130;1.087010;1.087130;0 20160103 170100;1.087120;1.087120;1.087120;1.087120;0 20160103 170200;1.087080;1.087220;1.087080;1.087220;0 20160104 000100;1.087830;1.087840;1.087640;1.087640;0 20160104 000200;1.087640;1.088220;1.087640;1.088220;0 20160104 000300;1.088220;1.088220;1.088040;1.088050;0 20160105 000000;1.082270;1.082270;1.082160;1.082160;0 20160105 000100;1.082160;1.082160;1.082130;1.082140;0 20160105 000200;1.082150;1.082240;1.082150;1.082240;0
import pandas as pd
import pytz
filename = "DAT_ASCII_EURUSD_M1_SmallSample.csv"
df = pd.read_csv(filename, sep=";", names=['DateTime','Open','High','Low','Close','Vol'],
parse_dates = [0], index_col = 'DateTime')
df.tz_localize(pytz.timezone('US/Eastern'))
df.tz_convert(pytz.timezone('UTC'))
print(df)