To check and display row index, use the isinf() with any(). At first, let us import the required libraries with their respective aliases −
import pandas as pd import numpy as np
Create a dictionary of list. We have set the infinity values using the Numpy np.inf −
d = { "Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf] }
Creating DataFrame from the above dictionary of list −
dataFrame = pd.DataFrame(d)
Getting row index with infinity values −
indexNum = dataFrame.index[np.isinf(dataFrame).any(1)]
Example
Following is the code −
import pandas as pd
import numpy as np
# dictionary of list
d = { "Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf] }
# creating dataframe from the above dictionary of list
dataFrame = pd.DataFrame(d)
print"DataFrame...\n",dataFrame
# checking for infinite values and displaying the count
count = np.isinf(dataFrame).values.sum()
print"\nInfinity values count...\n ",count
# getting row index with infinity values
indexNum = dataFrame.index[np.isinf(dataFrame).any(1)]
print"\nDisplay row indexes with infinite values...\n ",indexNumOutput
This will produce the following output −
DataFrame... Reg_Price 0 7000.505700 1 inf 2 5000.000000 3 inf 4 9000.757680 5 6000.000000 6 900.000000 7 inf Infinity values count... 3 Display row indexes with infinite values... Int64Index([1, 3, 7], dtype='int64')