📌  相关文章
📜  如何在Python数据框中显示非空行和列?

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

如何在Python数据框中显示非空行和列?

在Python,not null 行和列表示具有Nan值的行和列,尤其是在 Pandas 库中。为了在Python数据框中显示非空行和列,我们将使用不同的方法,如 dropna()、notnull()、loc[]。

  • dropna() :此函数用于删除具有 NaN 值缺失值的行和列。 dropna()函数有轴参数。如果它设置为 0 那么它将删除所有具有 NaN 值的行,如果它设置为 1 那么它将删除所有具有 NaN 值的列。默认情况下,axis参数的值为0。
  • notnull() :此函数检测非缺失值并返回 DataFrame 中每个元素的布尔值掩码,指示元素是否不是 NA 值。
  • loc[] :此方法按标签或布尔数组过滤行和列。在我们的示例中,此方法通过由 notnull() 方法返回的布尔数组过滤行。

脚步:

  • 导入熊猫库
  • 阅读 CSV 文件,或者您可以创建自己的数据框。
  • 使用如下所述的 dropna()、notnull()、loc[] 等方法之一。
  • 显示结果

下面程序中使用的StudentData.csv文件

方法一:使用 dropna() 方法



在此方法中,我们使用 dropna() 方法删除空行并显示修改后的数据框。

Python3
# Import library
import pandas as pd
  
# Reading csv file
df = pd.read_csv('StudentData.csv')
  
# using dropna() method
df = df.dropna()
  
# Printing result
print(df)


Python3
# Import library
import pandas as pd
  
# Reading csv file
df = pd.read_csv('StudentData.csv')
  
# using notnull() method ,it will return 
# boolean values
mask = df.notnull()
  
# using dropna() method to drop NaN 
# value rows
df = df.where(mask).dropna()
  
# Displaying result
print(df)


Python3
# Import library
import pandas as pd
  
# Reading csv file
df = pd.read_csv('StudentData.csv')
  
# Here filtering the rows according to 
# Grade column which has notnull value.
df = df.loc[df['Grade'].notnull()]
  
# Displaying result
print(df)


输出:

方法二:使用notnull()和dropna()方法

在这个方法中,我们将首先使用 notnull() 方法,它返回一个具有 True 和 False 值的布尔对象。如果有 NaN 值,它将返回 false,否则返回 true。然后将这些布尔对象作为输入参数提供给 where函数以及该函数使用 drpna() 删除 NaN 行。

蟒蛇3

# Import library
import pandas as pd
  
# Reading csv file
df = pd.read_csv('StudentData.csv')
  
# using notnull() method ,it will return 
# boolean values
mask = df.notnull()
  
# using dropna() method to drop NaN 
# value rows
df = df.where(mask).dropna()
  
# Displaying result
print(df)

输出:



方法 3:使用 loc[] 和 notnull() 方法

在这个方法中,我们使用了两个概念,一个是方法,另一个是属性。因此,首先,我们找到每个特定列的非空实例的数据框,然后在整个数据上定位实例以获取数据框。

蟒蛇3

# Import library
import pandas as pd
  
# Reading csv file
df = pd.read_csv('StudentData.csv')
  
# Here filtering the rows according to 
# Grade column which has notnull value.
df = df.loc[df['Grade'].notnull()]
  
# Displaying result
print(df)

输出:

如输出图像所示,仅显示 Grade != NaN 的行。