我知道这是一个基本问题,可能以前已经回答过,但是我找不到一个确切的解决方案,然后想要问一下。在np上的TypeError使用附加列表
我正在制作一个循环,将逝去的时间转换为正弦波,然后绘制它。我对这部分没有任何问题,但之后我正在努力进行一些分析。
import time
import numpy as np
x = []
y = []
start = time.time()
for times in range(100):
stop = time.time()
duration = stop-start
x.append(duration)
y.append(np.sin(duration))
time.sleep(0.05)
这一切工作正常,并产生所需的图形,但我则在寻找使用np.where
命令并返回一个错误:
print(y[np.where(y > 0)])
TypeError: unorderable types: list() > int()
什么混淆我是什么time.time()
返回一个值,然后将其附加到矩阵上,如果我呼叫type(y[0])
它会给出numpy.float
的定义。我知道我必须调用一些错误的函数或者在我的列表定义中做错了事情!就好像我对一个简单的int
矩阵做的一样,它一切正常。
a = np.arange(0,100,2)
print(a[np.where(a > 80)])
[82 84 86 88 90 92 94 96 98]
这是所有罚款,所以我只是想知道我错了我的列表定义为TypeError
。
提前欢呼!
您是否尝试使用'np.array(x)''将'x'列表转换为'numpy'数组?它是否会产生相同的错误? –
这确实解决了它,非常感谢你。你能向我解释一下这些变化以及它如何让这个功能起作用吗?干杯。 – Wrothschild
Numpy覆盖了基本操作符的等式,比较等。在这种情况下,调用'>'操作符与调用[numpy.greater](https://docs.scipy.org/doc/numpy-1.13.0/reference /generated/numpy.greater.html)。 –