web-dev-qa-db-ja.com

numpyでPythonの日付時刻文字列を日付時刻に変換する(Python)

変換したい

['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"]

Numpy datetimeオブジェクトに。

import numpy as np
[np.datetime64(x) for x in ['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"]] 

ValueError: Could not convert object to NumPy datetimeが発生しました。しかし、私が意図したとおりに以下が機能します

[np.datetime64(x) for x in ['2010-10-17 07:15:30', '2011-05-13 08:20:35', "2012-01-15 09:09:09"]] 

配列をNumpydatetime64関数の要件に準拠する形式に変換するにはどうすればよいですか?

Numpyバージョン1.7.0を使用しています。 python 3.4

11
Duna

私の知る限り、np.datetime64は、

ISO 8601の日付または日時形式の文字列

to_datetimepandasの関数はより柔軟に見える:

import pandas as pd
a=pd.to_datetime(['17-10-2010 07:15:30', '13-05-2011 08:20:35', "15-01-2013 09:09:09"])

もちろん、簡単にnumpyに戻すことができます。

np.array(a,dtype=np.datetime64)
14
atomh33ls