I have loaded a .csv file in python with numpy.genfromtxt. Now it returns a 1 dimensional numpy.ndarray with in that array, numpy.void objects which are actually just arrays of integers. However I would like to convert these from typenumpy.void to numpy.array. To clarify:
>>> print(train_data.shape)
(42000,)
>>> print(type(train_data[0]))
<class 'numpy.void'>
>>> print(train_data[0])
(9, 0, 0)
So here the array (9, 0, 0) which has type numpy.void should be a numpy.array.
How can I convert all values from train_data to be numpy arrays?
Efficiency is also somewhat important because I am working with a lot of data.
Some more code
>>> with open('filename.csv', 'rt') as raw_training_data:
>>> train_data = numpy.genfromtxt(raw_training_data, delimiter=',', names=True, dtype=numpy.integer)
>>> print(train_data.dtype)
[('label', '<i4'), ('pixel0', '<i4'), ('pixel1', '<i4')]
>>> print(type(train_data))
<class 'numpy.ndarray'>
genfromtxtcall. What'strain_data.dtype? My guess it is a structured array. It is 1d with multiple fields, which are accessed by field name. Whether it is easy to convert to 2d numeric dtype will depend on the field dtypes.train_data.dtype.train_data['label']is the first field, etc. If you want a 2d array with 3 columns, tryskip_header=1instead ofnames=True. Since the fields are alli4we could convert this after loading, but loading in the desired format will be simpler.