2016-05-22 2 views
2

Iは、DateTimeオブジェクトを持つ2つの配列を有するが、Iは、第1および第2の時間の日付でのみ1つの結合配列を必要.. Iは1つの日時配列に2つの日時配列を結合するにはどうすればよいですか?

datetime.combine(date,time)

を使用する場合、結果は

TypeError: combine() argument 1 must be datetime.date, not numpy.ndarray

ありますコードは次のとおりです。私の質問は...私はPythonで新しいんだけど、私は本当にこのプログラムが動作する必要がある、あなたの彼に感謝ナイーブである

import numpy as np 
import matplotlib.pyplot as pp 
import math 
from datetime import datetime, time, date 
from glob import glob 
import pylab as plb 
from scipy.optimize import curve_fit 
from scipy import asarray as ar,exp 
#importo i nomi dei files 

fnames=glob('C:/Users/asus/Desktop/lab_astro/GALASSIA/galassia canale 43/*') 
#conto i files per ogni tipo e inizializzo le variabili dove mettere i dati 
num_file14=len(fnames) 
signal14=[] 
dt = datetime 
dd = datetime 


#leggo i files e riempio le variabiliChange working directory.. 
for n in range (0, num_file14): 
    data14=np.loadtxt(fnames[n], comments ='END', delimiter=';', skiprows=1, usecols=(0,1,7),dtype=object,converters={ 0: lambda x: dd.strptime(x, "%d/%m/%Y"),1: lambda x: dt.strptime(x, "%H.%M.%S") , 7: np.float}) 
    dd=np.append(orario,data14[:,0]) 
    dt=np.append(orario,data14[:,1]) 
    d = datetime.combine(dd,dt) 
    signal14=np.append(signal14,data14[:,2]) 

maby lp !!

+1

これをチェックしてくださいhttp://stackoverflow.com/a/7501549/524743 – Samuel

+0

od 'dd'と' dt'の値を指定できますか?私は 'datetime'形式に変換する必要があると思います。 –

答えて

2

変数dddtnumpy.ndarrayの形式です。 datetime形式に変換する必要があります。私はddを願っていますdatetime.combine(date,time)

In [1]: import datetime 
In [2]: time = datetime.time(12,12,12) 
In [3]: date = datetime.date(2015,1,04) 
In [4]: datetime.datetime.combine(date,time) 
Out[1]: datetime.datetime(2015, 1, 4, 12, 12, 12) 

の作業で ルックdateのために表すとdttimeのために表しています。だからあなたのコードはこのように変わった。

datetime.datetime.combine(dd.date(),dt.time()) 

繰り返しを使用している場合。反復ごとにコードを変更する必要があります

+0

おまけに、私は..今、変換は私の問題です! ddは次のようになります。 Out [112]: array([<タイプ 'datetime.datetime'>、datetime.datetime(2016,5,16,0,0)、 datetime.datetime(2016,5,16,0) (2016,5,16,0,0)、 datetime.datetime(2016,5,16,0,0)、 datetime.datetime(2016,5,16) 、0、0)]、dtype = object) – ADHAFERA

+0

コメントにもコード書式を使用してください。それは読むのが難しい。 –

+0

'datetime'変数の要素を持つ' numpy.ndarray'だと思います。ですから、それを繰り返し、 'datetime.combine(date、time)'を使うことができます。 –

関連する問題