【发布时间】:2016-06-04 17:17:47
【问题描述】:
我有一组看起来像这样的数据(3 列)。日期和时间在 1 列,时区在另一列。
location,time,zone
EASTERN HILLSBOROUGH,1/27/2015 12:00,EST-5
EASTERN HILLSBOROUGH,1/24/2015 7:00,EST-5
EASTERN HILLSBOROUGH,1/27/2015 6:00,EST-5
EASTERN HILLSBOROUGH,2/14/2015 8:00,EST-5
EASTERN HILLSBOROUGH,2/7/2015 22:00,EST-5
EASTERN HILLSBOROUGH,2/2/2015 2:00,EST-5
我使用pandas 来解析日期和时间及其各自的时区。在read_csv 我可以做parse_dates = [[1,2]],根据docs,将列组合成1并解析它们。
所以现在新数据看起来像这样(2 列)
location,time_zone
EASTERN HILLSBOROUGH,1/27/2015 12:00 EST-5
EASTERN HILLSBOROUGH,1/24/2015 7:00 EST-5
EASTERN HILLSBOROUGH,1/27/2015 6:00 EST-5
EASTERN HILLSBOROUGH,2/14/2015 8:00 EST-5
EASTERN HILLSBOROUGH,2/7/2015 22:00 EST-5
EASTERN HILLSBOROUGH,2/2/2015 2:00 EST-5
但是,如果我输入 df['time_zone'].dtype,我会得到 dtype('O'),它不是 datetimelike,因为我不能使用 dt 访问器。
我还能如何正确解析这两列?
【问题讨论】:
-
这有帮助吗,看起来他有同样的
dtype('O')问题。df['time_zone'] = pd.to_datetime(df['time_zone'])stackoverflow.com/a/24446716/5889975 -
@steven 给了我
ValueError: Unknown string format。熊猫出于某种原因不喜欢这种格式,可能的错误?datetime也不喜欢它,但dateutil工作正常。我尝试在映射函数中使用它,但给了我与上面相同的ValueError。 -
你从中得到了什么结果:
type(df.time_zone.iat[0])?这会查看特定值而不是整个列类型。 -
@Alexander 这是
str -
df.zone.unique() 的值是多少?
标签: python pandas date datetime datetime-parsing