Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Python - Check if Pandas dataframe contains infinity
A Pandas DataFrame may contain infinity values (inf) from mathematical operations like division by zero. You can check for these values using NumPy's isinf() method and count them with sum().
Detecting Infinity Values
First, let's create a DataFrame with some infinity values ?
import pandas as pd
import numpy as np
# Create a dictionary with infinity values
d = {"Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000]}
# Create DataFrame
dataFrame = pd.DataFrame(d)
print("DataFrame...")
print(dataFrame)
DataFrame... Reg_Price 0 7000.505700 1 inf 2 5000.000000 3 inf 4 9000.757680 5 6000.000000
Counting Infinity Values
Use np.isinf() to detect infinity values and sum() to count them ?
import pandas as pd
import numpy as np
# Create DataFrame with infinity values
d = {"Reg_Price": [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000]}
dataFrame = pd.DataFrame(d)
# Check for infinity values
is_infinite = np.isinf(dataFrame)
print("Infinity check...")
print(is_infinite)
# Count total infinity values
count = np.isinf(dataFrame).values.sum()
print("\nTotal infinity values:", count)
Infinity check... Reg_Price 0 False 1 True 2 False 3 True 4 False 5 False Total infinity values: 2
Alternative Methods
You can also check for infinity values using pandas methods ?
import pandas as pd
import numpy as np
# Create DataFrame
d = {"Price": [100, np.inf, 200], "Quantity": [5, 10, np.inf]}
df = pd.DataFrame(d)
print("DataFrame:")
print(df)
# Check each column for infinity
print("\nInfinity by column:")
print(df.isin([np.inf, -np.inf]).sum())
# Check if any infinity exists
has_infinity = np.isinf(df).any().any()
print("\nContains infinity:", has_infinity)
DataFrame: Price Quantity 0 100.0 5.0 1 inf 10.0 2 200.0 inf Infinity by column: Price 1 Quantity 1 dtype: int64 Contains infinity: True
Conclusion
Use np.isinf() to detect infinity values in DataFrames. Combine with sum() to count occurrences or any() to check existence. This helps identify problematic data before analysis.
Advertisements
