2016-12-08 15 views
0

データフレーム内でUTC時刻からLocaleTimeに変換しようとしています。私はdictionaryを持っています。私は各国コードのためにシフトする必要がある時間数を保存しています。だから、例えば私がdf['CountryCode'][0]='AU'を持っていると私はdf['UTCTime'][0]=2016-08-12 08:01:00を持っている場合、私は各行に関数を適用するpython

df['UTCTime'][0]+datetime.timedelta(hours=dateDic[df['CountryCode'][0]]) 

あるdf['LocaleTime'][0]=2016-08-12 19:01:00を取得したい私はfor loopでそれを行うことを試みたが、私は100万人以上の行を持っているので、それは効率的ではありません。 apply関数を調べましたが、2つの異なる列からの入力を取り込むことができないようです。

誰でも手伝ってもらえますか?

+0

あなたのコードを示しています。 –

+0

@WasiAhmad:私はちょうどループのために行われた:範囲内にiについて を '(0、lenは(DF [ 'のCountryCode'])): DF [ 'LocaleTime'] [i]は=のDF [ 'UTC時刻'] [i] + datetime.timedelta(hours = dateDic [' CountryCode '] [i]]) ' –

答えて

0

より具体的な例がなくても、その難しいが、これを試してみてください。

pd.to_timedelta(df.CountryCode.map(dateDict), 'h') + df.UTCTime 
関連する問題