2017-11-01 9 views
0

numpy配列の長さを見つけようとしています。しかし、len()関数を使用すると、 "TypeError:len()unsized object"のようなエラーが発生します。 また、 ".size"メソッドを使用した場合、値は '1'にな​​ります。 1月1日と今日の間のすべての日付が含まれています、私は配列を作成しようとしていますnumpy配列の長さを見つける

for dt in daterange(start_dt, end_dt): dateComplete=np.array((dt.strftime("%Y-%m-%d"))) print(dateComplete) x=len(dateComplete) print(x)

を次のように

私のコードです。

+0

あなたの配列 'dateComplete'は、「スカラー配列」は、それが形状を有しています(') '。そのような配列は配列ではなくスカラーのように振舞うので、 'len'はそれらのために定義されていません。実際には、numpy配列の 'len(a)'は 'a.shape [0]'です。 –

+0

'dateComplete'は' array( '2017-10-31'、dtype = ' hpaulj

答えて

0

正確にループを達成しようとしていますか?日付の配列を持ち、その長さをチェックしたい場合、それを反復する必要はありません。私は、オブジェクトの種類daterangeリターンを知らないが、そのnumpyの配列(pandas.date_range()と同じように、あなたが.astype()メソッドを使用して、ご希望の配列を取得できた場合:それはPythonのリストなら

dates = date_range(start_dt, end_dt).astype(str) 
len(dates) 

することは、あなたが使用することができますリスト内包:

dates = [str(date) for date in date_range(start_dt, end_dt)] 
len(dates) 
関連する問題