2016-09-15 5 views
-1

私は非常に単純なpythonの質問があります。 np.array内の文字列値をdatetime値に変換する必要があります。文字列値には、次の形式が含まれます( '%Y%m%d')。どのようにこれを知っていますか?ここ 私のテストデータ:np.array(dtype = 'datetime')のnp.array(dtype = 'str')の変換

date_str = np.array([['20121002', '20121002', '20121002'], 
        ['20121003', '20121003', '20121003'], 
        ['20121004', '20121004', '20121004']]) 

私はパンダのライブラリとこの配列を変換してみてください。

import pandas as pd  
pd.to_datetime(date_str, format="%d%m%Y") 

がこれを変換して、私はPythonの初心者だことに注意することは非常に単純な方法があるはず私を助けてください: はここに私のコードです。

答えて

0

あなたがデータフレームを作成することができ、その後、applypd.to_datetimeそれに:

In [68]: pd.DataFrame(date_str).apply(pd.to_datetime) 
Out[68]: 
      0   1   2 
0 2012-10-02 2012-10-02 2012-10-02 
1 2012-10-03 2012-10-03 2012-10-03 
2 2012-10-04 2012-10-04 2012-10-04 

結果の種類を確認するためには、ここで最初の列のタイプは、たとえば、です:

In [73]: pd.DataFrame(date_str).apply(pd.to_datetime).iloc[:, 0].dtype 
Out[73]: dtype('<M8[ns]') 
+0

こんにちはNehal J Wani、 – angi

+0

awnserありがとう。それは整数値でさえ本当にうまく動作します。 – angi

0

アレイの各要素をpandas seriesに変換し、to_datetime()操作を実行します。

In [81]: [pd.to_datetime(pd.Series(x), format="%Y%m%d") for x in date_str] 
Out[81]: 
[0 2012-10-02 
1 2012-10-02 
2 2012-10-02 
dtype: datetime64[ns], 0 2012-10-03 
1 2012-10-03 
2 2012-10-03 
dtype: datetime64[ns], 0 2012-10-04 
1 2012-10-04 
2 2012-10-04 
dtype: datetime64[ns]] 
関連する問題