我有几个numpy数组,可以格式化为
[1.525, 2.565, 6.367, ...] # elements are float numbers
或
['', '', '', ...] # elements are empty strings
我想知道数组中的所有元素是否具有相同的数据类型。
目前,我正在使用:
if isinstance(np.any(time_serie),float):
return sum(time_serie)
但是这个不起作用。我收到了以下错误:
TypeError: cannot perform reduce with flexible type
那么,我可以知道如何解决这个问题吗?感谢。
答案 0 :(得分:1)
如果您正在寻找示例中提供的特定数据类型,例如所有项目都是花车,然后地图和减少就可以了:
>>> x = [1.525, 2.565, 6.367]
>>> all(map(lambda i: isinstance(i, float), x))
True
>>> x = [1.525, 2.565, '6.367']
>>> all(map(lambda i: isinstance(i, float), x))
False
答案 1 :(得分:0)
您可能希望使用列表推导或map()
来创建数据类型序列,然后从此序列中生成set
,并查看该集的长度是否为1。