找到一个numpy数组的长度

时间:2017-11-01 05:39:17

标签: python numpy

我试图找到一个numpy数组的长度。但是当我使用len()函数时,它会给出一个错误,例如" TypeError:len()of unsized object" 当我使用" .size"方法我得到的价值是' 1'。

我的代码如下

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

我正在尝试创建一个包含1月1日到今天之间所有日期的数组。

2 个答案:

答案 0 :(得分:0)

你想用循环实现什么?如果你想要一个日期数组并检查其长度,则无需迭代它。我不知道对象daterange的类型返回,但如果它是一个numpy数组(与pandas.date_range()一样,则可以使用.astype()方法获取所需的数组:

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

如果它是Python列表,您可以使用列表理解:

dates = [str(date) for date in date_range(start_dt, end_dt)]
len(dates)

答案 1 :(得分:0)

你也可以使用dateComplete.shape,它将返回一个包含数组维度的tupple。请参阅:https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.ndarray.shape.html