Python 将时间戳字符串转换为日期时间格式

Python 将时间戳字符串转换为日期时间格式,python,pandas,datetime,numpy,Python,Pandas,Datetime,Numpy,我有一列日期,格式为“Sun May 1 00:00:10 2016”,表示“Weekday,Mon,Day,hh:mm:ss,Year” 如何使用pandas.to_datetime或numpy格式化此文件 谢谢你的帮助 import pandas as pd date = 'Sun May 1 00:00:10 2016' df = pd.DataFrame([date], columns=['date']) 通常,对于此类任务,您应该使用datetime模块中的strtime方法:

我有一列日期,格式为“Sun May 1 00:00:10 2016”,表示“Weekday,Mon,Day,hh:mm:ss,Year”

如何使用pandas.to_datetime或numpy格式化此文件

谢谢你的帮助

import pandas as pd

date = 'Sun May  1 00:00:10 2016'
df = pd.DataFrame([date], columns=['date'])

通常,对于此类任务,您应该使用
datetime
模块中的
strtime
方法:

from datetime import datetime as dt
s = 'Sun May 1 00:00:10 2016'
f = '%a %B %d %H:%M:%S %Y'
dt.strptime(s, f)
datetime.datetime(2016, 5, 1, 0, 0, 10)
就熊猫而言:

df = pd.DataFrame({"date":
                  ['Sun May 1 00:00:10 2016','Sun May 2 00:00:10 2016']})
df
date
0   Sun May 1 00:00:10 2016
1   Sun May 2 00:00:10 2016


df.date.apply(lambda s: dt.strptime(s,f))
0   2016-05-01 00:00:10
1   2016-05-02 00:00:10
Name: date, dtype: datetime64[ns]
编辑

为了使其更完整,在本例中,
user1753919
在对您的问题的评论中建议的方式也是“只起作用”:

pd.to_datetime(df.date)
0   2016-05-01 00:00:10
1   2016-05-02 00:00:10
Name: date, dtype: datetime64[ns]
然而,时间安排的结果可能令人感兴趣:

%timeit df.date.apply(lambda s: dt.strptime(s,f))
%timeit pd.to_datetime(df.date)
1000 loops, best of 3: 369 µs per loop
1000 loops, best of 3: 771 µs per loop

df=pd.DataFrame([pd.to_datetime(date)],columns=['date'])您的计时结果完全是误导性的;试着用一个更大的数字