如何在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 的行。