我在一个pandas数据帧中读了一个包含150,000行的csv文件 . 此数据框有一个字段'Date',日期格式为yyyy-mm-dd . 我想从中提取月,日和年并分别复制到数据框' columns, '月', '日' and '年 . 对于几百条记录,以下两种方法都可以正常工作,但对于150,000条记录,这两种方法的执行时间都非常长 . 对于100,000条记录,有更快的方法吗?
第一种方法:
df = pandas.read_csv(filename)
for i in xrange(len(df)):
df.loc[i,'Day'] = int(df.loc[i,'Date'].split('-')[2])
第二种方法:
df = pandas.read_csv(filename)
for i in xrange(len(df)):
df.loc[i,'Day'] = datetime.strptime(df.loc[i,'Date'], '%Y-%m-%d').day
谢谢 .
2 回答
在0.15.0中,您将能够使用新的.dt访问器在语法上做到这一点 .
从0.15.0开始(2014年9月底发布),现在可以使用新的.dt访问器进行以下操作:
我使用下面的代码,这对我很有用