Your variable energies
probably has the wrong shape:
>>> 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'
And that’s what happens if you read columnar data using your approach:
>>> data array([[ 1., 2., 3.], [ 3., 4., 5.], [ 5., 6., 7.], [ 8., 9., 10.]]) >>> hsplit(data,3)[0] array([[ 1.], [ 3.], [ 5.], [ 8.]])
Probably you can simply use
>>> data[:,0] array([ 1., 3., 5., 8.])
instead.
(P.S. Your code looks like it’s undecided about whether it’s data
or elementdata
. I’ve assumed it’s simply a typo.)