下面是我的csv DateTime列的第一行:
Mon Nov 02 20:37:10 GMT+00:00 2015
DateTime 列当前是一个对象,我想将其转换为日期时间格式,以便我可以将日期显示为 2015-11-02,并且我将为时间创建一个单独的列。
我用于将列转换为日期时间格式的代码是:
for item, frame in df['DateTime'].iteritems():
datetime.datetime.strptime(df['DateTime'], "%a-%b-%d-%H-%M-%S-%Z-%Y")
我收到此错误:
> TypeError: must be str, not Series
任何帮助将不胜感激!
使用 pd.to_datetime()
:
df['DateTime'] = pd.to_datetime(df['DateTime'])
例如
pd.to_datetime('Mon Nov 02 20:37:10 GMT+00:00 2015')
产生Timestamp('2015-11-02 20:37:10')
.
另一种解决方案是按以下方式传递错误参数及其应用
df['DateTime'] = pd.to_datetime(df['DateTime'], errors='coerce')
错误{'忽略', 'raise', 'coerce'}, default 'raise'
- 如果为"raise",则无效解析将引发异常。
- 如果为"强制",则无效解析将设置为 NaN。
- 如果"忽略",则无效解析将返回输入。