Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用int函数只能将length-1数组转换为Python标量_Python - Fatal编程技术网

使用int函数只能将length-1数组转换为Python标量

使用int函数只能将length-1数组转换为Python标量,python,Python,我目前在python中得到了一个数组,它是字典的一个元素,在python控制台中,它是这样的: TUMEC['spans'][0] array([0. , 0.25, 0.5, 0.75, 1.]) 我想将整个数组传递给一个函数,但这必须经过一些简单的数学运算,如: int(TUMEC['spans'][0]*100) 但我收到的错误信息是: 只有长度为1的数组才能转换为Python标量 因此,我尝试导入numpy并键入: int(TUMEC['spans'][0]*100) 但我还是有同

我目前在python中得到了一个数组,它是字典的一个元素,在python控制台中,它是这样的:

TUMEC['spans'][0]
array([0. , 0.25, 0.5, 0.75, 1.])
我想将整个数组传递给一个函数,但这必须经过一些简单的数学运算,如:

int(TUMEC['spans'][0]*100)
但我收到的错误信息是: 只有长度为1的数组才能转换为Python标量

因此,我尝试
导入numpy
并键入:

int(TUMEC['spans'][0]*100)
但我还是有同样的问题


有人知道我如何绕过这个问题吗。

您可以尝试转换为列表,然后理解:

[int(a*100) for a in list(TUMEC['spans'][0])]

我认为这里最好的方法是使用
map
,这是一种速度更快的方法:

print map(lambda x: int(x*100), TUMEC['spans'][0])
但是如果
TUMEC['span'][0]
已经是一个
numpy.array
,那么以下方法应该可以工作,并且应该是首选方法,因为它更可读、更简单、更快速(有人能确认快速部分吗?)


当然,在这两种情况下,结果都是一个列表,但您可以使用
np.array

轻松解决这一问题。这是一种很好的方法,只要OP不介意结果是列表而不是数组。当然,您可以始终转换回ArrayEah。我不是质疑你的理解,只是不确定数据结构。欢迎来到SE,伙计。你应该接受以最佳方式解决问题的答案。您可以阅读更多有关该网站的信息
print map(int, TUMEC['spans'][0]*100)