Ad

Converting From Binary To Text In Python

- 1 answer

I have 10 .npy files and I tried to convert them into a text format . Eventually I could convert but inside of the file I have a lot of NaN as you can see below

'6273e+01,7.875215274794027209e+01,7.409557690727524459e+01,6.936124983476474881e+01,6.453527330490760505e+01,5.960374909394886345e+01,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,nan,'

How can I remove NaN from the converted file, in other words, how can I convert .npy to csv or txt without problem?

Ad

Answer

.npy is the extension used by numpy. Which means the file was likely created with numpy.save(). So you can load the file and obtain the numpy array with numpy.load()

Once you have obtained your numpy array using numpy.load, you can then drop the NaN as follows:

X = X[~np.isnan(X)]

The ~ operator negates the boolean-values returned by np.isnan, and the boolean-values are then used to select the elements of the array. True values keep the respective element and False values drop the respective element.

Finally, you can export a numpy array X to a csv file using numpy.savetxt as follows:

np.savetxt('my-values.csv', [X], delimiter=',')

Example code:

import numpy as np

X = np.load('my-values.npy')
X = X[~np.isnan(X)]
np.savetxt('my-values.csv', [X], delimiter=',')
Ad
source: stackoverflow.com
Ad