【发布时间】:2016-01-04 05:12:33
【问题描述】:
我正在尝试根据标准为 Pandas 数据框中的不同行设置不同的时区。作为 MWE,这是我尝试过的:
test = pd.DataFrame( data = pd.to_datetime(['2015-03-30 20:12:32','2015-03-12 00:11:11']) ,columns=['time'] )
test['new_col']=['new','old']
test.time=test.set_index('time').index.tz_localize('UTC')
test.loc[test.new_col=='new','time']=test[test.new_col=='new'].set_index('time').index.tz_convert('US/Pacific')
print test
这个的输出:
time new_col
0 1427746352000000000 new
1 2015-03-12 00:11:11+00:00 old
如您所见,更新时区的行被转换为整数。我怎样才能正确地做到这一点,以便更新的条目是日期时间?
【问题讨论】:
-
一列中不可能有不同的时区(列是同类类型的)
-
这似乎不是真的,请看下面的例子。
-
是的,但正如@jreback 解释的那样,您不再有日期时间列,而是一个对象列(原则上可以包含任何内容),失去了很多有用的功能
标签: python datetime pandas python-datetime