📜  在Python中检查数据帧是否包含无穷大 – Pandas

📅  最后修改于: 2022-05-13 01:55:18.279000             🧑  作者: Mango

在Python中检查数据帧是否包含无穷大 – Pandas

先决条件:熊猫

在多种情况下,数据框可以包含无穷大作为值。本文讨论了我们如何在我们的数据框中跟踪无穷大。

方法

  • 导入模块
  • 创建一个数据框,对于本文,它是使用字典完成的。要在数据中包含无穷大,请导入 NumPy 模块,并使用np.inf表示正无穷大,使用-np.inf表示负无穷大。
  • 根据您的要求使用下面提到的适当方法。

方法一:使用 DataFrame.isinf()函数检查数据框是否包含无穷大。它返回布尔值。如果它包含任何无穷大,它将返回 True。否则,它将返回 False。

句法:

isinf(array [, out])

使用这种方法本身,我们可以得到更多关于数据帧中存在无穷大的信息:

  • 检查无穷大作为值
  • 计算无穷大值的数量
  • 检索无穷大作为值的列名
  • 检索无穷大作为值的行索引/索引

例子:

Python3
# 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)


Python3
# 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)


输出:

方法二:使用 np.isfinite(dataframe_name) 检查无限值的存在。它返回布尔值。对于无限值,它将返回 False,对于有限值,它将返回 True。

句法:

isfinite(array [, out])

例子:

蟒蛇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)

输出: