检查 Python 中的数据框是否包含无穷大–熊猫
原文:https://www . geesforgeks . org/check-if-data frame-contains-infinity-in-python-pandas/
先决条件:T2】熊猫
在各种情况下,数据帧可以包含无穷大作为值。本文讨论如何在数据框中跟踪不定式。
方法
- 导入模块
- 创建一个数据框架,对于本文来说,这是使用字典完成的。对于数据中包含无穷大,导入 NumPy 模块,正无穷大使用 np.inf ,负无穷大使用 -np.inf 。
- 根据您的要求,从下面提到的方法中选择合适的方法。
方法 1: 使用 DataFrame.isinf() 功能检查数据帧是否包含无穷大。它返回布尔值。如果它包含任何无穷大,它将返回真。否则,它将返回 False。
语法:
isinf(array [, out])
使用这种方法本身,我们可以获得更多关于数据帧中无限存在的信息:
- 检查无限值
- 计算无穷大值的数量
- 检索以无穷大作为值的列名
- 检索以无穷大为值的行索引
示例:
Python 3
# Import required libraries
import pandas as pd
import numpy as np
# Create dataframe using dictionary
data = {'Student ID': [10, 11, 12, 13, 14],
'Age': [23, 22, 24, 22, 25],
'Weight': [66, 72, np.inf, 68, -np.inf]}
df = pd.DataFrame(data)
display(df)
# checking for infinity
print()
print("checking for infinity")
ds = df.isin([np.inf, -np.inf])
print(ds)
# printing the count of infinity values
print()
print("printing the count of infinity values")
count = np.isinf(df).values.sum()
print("It contains " + str(count) + " infinite values")
# counting infinity in a particular column name
c = np.isinf(df['Weight']).values.sum()
print("It contains " + str(c) + " infinite values")
# printing column name where infinity is present
print()
print("printing column name where infinity is present")
col_name = df.columns.to_series()[np.isinf(df).any()]
print(col_name)
# printing row index with infinity
print()
print("printing row index with infinity ")
r = df.index[np.isinf(df).any(1)]
print(r)
输出:
方法 2: 使用NP . is inite(data frame _ name)检查无限值的存在。它返回布尔值。对于无限值,它将返回 False,对于有限值,它将返回 True。****
**语法:****
**isfinite(array [, out])**
**示例:****
*Python 3*
**# Import required libraries
import pandas as pd
import numpy as np
# Create dataframe using dictionary
data = {'Student ID': [10, 11, 12, 13, 14], 'Age': [
23, 22, 24, 22, 25], 'Weight': [66, 72, np.inf, 68, -np.inf]}
df = pd.DataFrame(data)
d = np.isfinite(df)
display(d)**
**输出:****
**
版权属于:月萌API www.moonapi.com,转载请注明出处