我有一个熊猫数据框(命名为S)和列(日期)中的一个是时间戳记将拉姆达到TZ感知时间戳
s.date[0]
Out[126]:
Timestamp('2014-01-28 00:52:00-0500', tz='dateutil//usr/share/zoneinfo/America/New_York')
在代码中的某些时候,我需要选择的一个子集s(使用idx,布尔值列表)。输出是:
s.date[idx]
Out[125]:
1019 2014-12-01 00:52:00-05:00
1020 2014-12-01 01:52:00-05:00
1021 2014-12-01 02:52:00-05:00
Name: date, dtype: datetime64[ns, tzfile('/usr/share/zoneinfo/America/New_York')]
由于我只在小时有兴趣,我想我可能只是做:
s.date.hour
,但当然,我得到的错误
AttributeError: 'Series' object has no attribute 'hour'
认为可以这样做:
s.date[0].hour
Out[128]: 0
I说,让我使用lambda将.hour应用于每个“行”。因此:
s.date[idx].apply(lambda x: x.hour)
Out[129]:
1019 5
1020 6
1021 7
正如你所看到的,我没有得到的时间“东部时间”,而是在UTC。
我已经做了一些在线搜索,但没有... 有没有办法获得非UTC时间?
谢谢!
使用'.dt'访问... – Kartik