1

Getting the index of nan values from where condition and passing it to original array but it is returning empty

#Input
url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'
iris_2d = np.genfromtxt(url, delimiter = ',', dtype = 'float')# random number from 0 to 150 as high is none
iris_2d[np.random.randint(150, size = 20), np.random.randint(4, size = 20)] = np.nan


( iris_2d[np.where(iris_2d[a,b]==np.nan)])
1
  • By definition nan!=nan which is why your code does not work. Commented Nov 9, 2018 at 9:18

1 Answer 1

2

I downloaded the data from the url that you mentioned, and saved it as 'iris_data.txt'. Try the following code. It gives you indices of nan in the numpy array iris_2d.

import numpy as np

iris_2d = np.genfromtxt('iris_data.txt', delimiter = ',', dtype = 'float')

nan_indx = np.argwhere(np.isnan(iris_2d))

print nan_indx.shape
print " " 
print nan_indx[0:5,:]

Output:

(150, 2)

[[0 4]
 [1 4]
 [2 4]
 [3 4]
 [4 4]]
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.