I am reading a file in python using pandas and then saving it in a numpy array. The file has the dimension of 11303402 rows x 10 columns. I need to split the data for cross validation and for that I sliced the data into 11303402 rows x 9 columns of examples and 1 array of 11303402 rows x 1 col of labels. The following is the code:
tdata=pd.read_csv('train.csv')
tdata.columns='Arrival_Time','Creation_Time','x','y','z','User','Model','Device','sensor','gt']
User_Data = np.array(tdata)
features = User_Data[:,0:9]
labels = User_Data[:,9:10]
The error comes in the following code:
classes=np.unique(labels)
idx=labels==classes[0]
Yt=labels[idx]
Xt=features[idx,:]
On the line:
Xt=features[idx,:]
it says 'too many indices for array'
The shapes of all 3 data sets are:
print np.shape(tdata) = (11303402, 10)
print np.shape(features) = (11303402, 9)
print np.shape(labels) = (11303402, 1)
If anyone knows the problem, please help.
The Python "IndexError: too many indices for array" occurs when we specify too many index values when accessing a one-dimensional numpy array. To solve the error, declare a two-dimensional array or correct the index accessor.
The indexerror: too many indices for an array means that you have a declared an array in a different dimension and trying to index it in another dimension. For example, suppose you have declared a numpy array in a single dimension and try to access the elements of an array in 2 dimensional.24-Nov-2021.
This occurs when you are trying to access the elements of a one-dimensional numpy array as a 2D array. To avoid this error, you need to mention the correct dimensions of the array. This error is thrown by Python 'numpy array' library when you try to access a single-dimensional array into multiple dimensional arrays.
By using ndarray. flatten() function we can flatten a matrix to one dimension in python. order:'C' means to flatten in row-major. 'F' means to flatten in column-major.
The problem is idx
has shape (11303402,1)
because the logical comparison returns an array of the same shape as labels
. These two dimensions use all of the indexes in features
. The quick work around is
Xt=features[idx[:,0],:]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With