我试图找到一个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日到今天之间所有日期的数组。
答案 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