我有一个包含列的csv' start'值为:
2015-09-28T12:58:42.831+03
2015-09-28T13:37:43.669+03
2015-09-28T14:11:31.383+03
2015-09-28T15:25:34.710+03
2015-09-28T18:06:02.106+03
我想在数据框中使用解析后的版本创建一个新列。因此,对于一个值,它将是:
import pandas as pd
from dateutil.parser import parse
parse(time_Test.start[1])
datetime.datetime(2015, 9, 28, 13, 37, 43, 669000, tzinfo=tzoffset(None, 10800))
我可以迭代并解析所有值:
for i in time_Test.start:
x = parse(i)
print x
2015-09-28 12:58:42.831000+03:00
2015-09-28 13:37:43.669000+03:00
2015-09-28 14:11:31.383000+03:00
2015-09-28 15:25:34.710000+03:00
2015-09-28 18:06:02.106000+03:00
2015-09-28 18:33:19.217000+03:00
如何更改此值以将计算值放入新列?
答案 0 :(得分:0)
您可以使用以下命令在数据框中创建新列。
time_Test['parsed_datetime'] = [parse(i) for i in time_Test.start]
但是,正如EdChum建议的那样,我建议您在阅读文件时使用parse_dates=[the column index where your dates are]
标志。您的日期将自动解析。您可以在此处找到完整的文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
答案 1 :(得分:0)
您可以告诉read_csv
在阅读时解析这些日期,而不是作为后处理步骤:
time_Test = pd.read_csv('time_test.csv', parse_dates=['start'])