Ваша переменная energies
, вероятно, имеет неправильную форму:
>>> from numpy import array
>>> set([1,2,3]) & set(range(2, 10))
set([2, 3])
>>> set(array([1,2,3])) & set(range(2,10))
set([2, 3])
>>> set(array([[1,2,3],])) & set(range(2,10))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'numpy.ndarray'
И вот что происходит, если вы читаете столбчатые данные, используя ваш подход:
>>> data
array([[ 1., 2., 3.],
[ 3., 4., 5.],
[ 5., 6., 7.],
[ 8., 9., 10.]])
>>> hsplit(data,3)[0]
array([[ 1.],
[ 3.],
[ 5.],
[ 8.]])
Вероятно, вы можете просто использовать
>>> data[:,0]
array([ 1., 3., 5., 8.])
вместо.
(P.S. Ваш код выглядит так, будто не определился, является ли он data
или elementdata
. Я предположил, что это просто опечатка.)