Pandas系列时间戳转换为字符串

时间:2018-04-06 13:03:32

标签: python pandas data-science

我是大熊猫的新手,如果我将日期列拆分为单独的小时,分​​钟,秒等列的方法有问题,我很好奇。

我的数据框(df)中有一列只包含日期('日期')。我使用下面的代码行将其转换为一系列时间戳:

dt = to_datetime(df['dates'], format='%m/%d/%Y %H:%M:%S.%f', errors='ignore')

当我使用for循环遍历dt时,我会正确解析所有日期,并且可以调出时间戳的单独属性而不会出现问题。例如:

for i in [d.year for d in dt]:
    print(i) # Correctly prints 2017 for all dates

for i in [d for d in dt]:
    print(type(i)) # Prints <class 'pandas._libs.tslib.Timestamp'>

但是当我尝试使用下面的代码行向我的数据框添加一个新列时:

df['year'] = Series([d.year for d in dt], index=df.index)

我收到属性错误:

AttributeError: 'str' object has no attribute 'year'

一些示例日期字符串是:'09 / 22/2017 19:23:12.993','09 / 01/2017 2017:47:11.593'。

有谁知道为什么python似乎在最后一个例子中将d解释为字符串而不是前两个?

0 个答案:

没有答案