爲什麼這個「pythonic」代碼在tz_localize()
行上不起作用?如何正確設置pandas tz_localize?
import pandas as pd
df = pd.DataFrame([{ "Localtime":"2016-01-01 12:00:00", "Timezone":"Europe/London" },
{ "Localtime":"2016-01-01 12:00:00", "Timezone":"Europe/Paris" }])
df['UtcDateTime'] = pd.to_datetime(df['Localtime']).tz_localize(df['Timezone'])
df
我找的一些代碼,比下面的代碼更漂亮(其中細BTW工作):
import pandas as pd
df = pd.DataFrame([{ "Localtime":"2016-01-01 12:00:00", "Timezone":"Europe/London" },
{ "Localtime":"2016-01-01 12:00:00", "Timezone":"Europe/Paris" }])
df['UtcDateTime'] = 'NA'
i=0
for ts in df.Localtime:
ts1 = pd.to_datetime(ts).tz_localize(df.Timezone[i])
df['UtcDateTime'][i] = ts1
i=i+1
df
預期結果:
Localtime Timezone UtcDateTime
0 2016-01-01 12:00:00 Europe/London 2016-01-01 12:00:00+00:00
1 2016-01-01 12:00:00 Europe/Paris 2016-01-01 12:00:00+01:00