Ваши выражения user
создают массивы, содержащие генератор:
In [108]: np.array(i for i in alist)
Out[108]: array(<generator object <genexpr> at 0x7f0b7bc98e60>, dtype=object)
При правильном понимании списка:
In [109]: np.array([i for i in alist])
Out[109]: array([1, 2, 3, 4])
Трассировка должна показывать, что ошибка возникает, когда такой массив передается в функцию correlation
.
In [110]: np.array(i for i in alist)/2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-110-a87b95ad6f4b> in <module>
----> 1 np.array(i for i in alist)/2
TypeError: unsupported operand type(s) for /: 'generator' and 'int'
Или тестирование простого генератора:
In [111]: g = (i for i in alist)
In [113]: g
Out[113]: <generator object <genexpr> at 0x7f0b7bc9b0f8>
In [114]: g/2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-114-f5357a50c56f> in <module>
----> 1 g/2
TypeError: unsupported operand type(s) for /: 'generator' and 'int'