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


在本教程中,我们将学习如何使用一些库在 Python 数据框中显示非空行和列。在本教程中,我们将使用 Pandas 库。

数据框是 pandas 中的一种数据结构,类似于 Excel 表格或 SQL 表格。它是一个二维带标签的数据结构,可以保存多个列,这些列可能包含不同类型的数据,例如整数、浮点数、字符串等。Pandas 提供了一个强大的数据结构“数据框”以及其他有用的方法来处理海量数据。

方法 1

在数据框中显示非空行和列的一种方法是使用 dropna() 方法。它返回一个数据框,其中所有包含空值的列和行都已从原始数据框中删除。

语法

要使用 dropna() 方法显示图像,您需要遵循以下语法:

df = df.dropna()
print(df)

我们在想要过滤所有空值的数据框 'df' 上使用 'dropna()' 方法。然后我们将使用 print() 函数打印它。

示例

在此示例中,我们使用的是 Pandas 库。因此,首先,我们将导入 Pandas 库并为其分配别名 'pd'。名为 'data' 的字典包含一些示例数据,其键表示列,其值表示行的列表。在这里,我们故意将一些值设为 'None' 以演示 'dropna()' 方法的使用。然后,我们将此字典传递给 pandas DataFrame() 函数,该函数使用 'pd.DataFrame(data)' 返回一个数据框对象。

然后,我们将对这个 'df' 数据框使用 dropna() 方法来删除空行和列。然后,我们将使用 print() 函数显示所需的数据框。

import pandas as pd

# Create a sample dataframe with null values
data = {'Name': ['Alice', 'Bob', None, 'David', 'Eva'],
        'Age': [25, 30, None, 20, 28],
        'Gender': ['F', 'M', 'M', 'M', None],
        'City': [None, 'San Francisco', 'Boston', 'Los Angeles', None]}
df = pd.DataFrame(data)

# Drop rows and columns with null values
df = df.dropna()

# Display the resulting dataframe
print(df)

输出

    Name   Age Gender           City
1    Bob  30.0      M  San Francisco
3  David  20.0      M    Los Angeles

示例

在此示例中,我们使用 pandas 的 DataFrame() 函数创建了一个包含一些空值的示例数据框。然后,我们使用此数据框上的 'dropna()' 方法删除所有包含少于 2 个非空值的行的,方法是将它的 'thresh' 参数的值设置为 2。

我们将 'dropna()' 函数的 'inplace' 参数的值设置为 'True',这表示用新的数据框替换原始数据框,在新的数据框中,非空值已被删除。'inplace' 参数的默认值为 'True';在这种情况下,它返回一个数据框,并且不更改原始数据框。最后,我们将使用 print() 函数显示结果数据框。

import pandas as pd

# Create a sample dataframe with null values
data = {'Name': ['Alice', 'Bob', None, 'David', 'Eva'],
        'Age': [25, 30, None, 20, None],
        'Gender': ['F', 'M', 'M', 'M', None],
        'City': [None, 'San Francisco', 'Los Angeles', 'Boston', None]}
df = pd.DataFrame(data)

# Drop rows and columns with null values in-place
df.dropna(thresh=2, inplace=True)

# Display the resulting dataframe
print(df)

输出

    Name   Age Gender           City
0  Alice  25.0      F           None
1    Bob  30.0      M  San Francisco
2   None   NaN      M    Los Angeles
3  David  20.0      M         Boston

方法 2

显示数据框中非空值的另一种方法是使用 'notnull()' 方法。这是一个 pandas 函数,它返回一个与原始数据框形状相同布尔数据框,其中 'True' 表示非空值,'False' 表示空值。

语法

要使用 notnull() 方法显示非空值,您需要遵循以下语法

df = df[df.notnull().all(axis=1)]
print(df)

我们在想要过滤空值的数据框 'df' 上使用 'notnull()' 方法。带 'axis' 参数设置为 '1' 的 'all()' 方法仅返回仅包含非空值的那些行。然后我们将使用 print() 函数打印结果数据框。

示例

在此示例中,我们首先创建一个包含一些空值的自定义数据框。然后,我们使用该数据框上的 'notnull()' 方法创建一个布尔数据框,其中空值表示为 'False',非空值表示为 'True'。然后,我们在该布尔数据框上使用 'all()' 方法,并将参数 'axis' 设置为 '1',它仅返回所有值都非空的行。

最后,我们将结果过滤后的数据框分配回原始数据框变量 'df' 并使用 print() 函数显示结果数据框。

import pandas as pd

# Create a sample dataframe
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'Age': [25, 30, None, 20, 28],
        'Gender': ['F', 'M', 'M', 'M', None],
        'City': ['New York', 'San Francisco', 'Los Angeles', 'Boston', None]}
df = pd.DataFrame(data)

# Filter for rows and columns with non-null values
df = df[df.notnull().all(axis=1)]

# Display the resulting dataframe
print(df)

输出

    Name   Age Gender           City
0  Alice  25.0      F       New York
1    Bob  30.0      M  San Francisco
3  David  20.0      M         Boston

结论

我们学习了如何使用不同的方法在 Python 数据框中显示非空值。我们学习了如何使用 Pandas DataFrame() 函数创建包含自定义数据的数据框。所讨论的不同方法对于过滤包含非空值的行列非常有用,这在处理大型数据集时非常有用,因为空值通常会导致数据分析和建模出现问题。通过删除这些空值,我们可以确保我们的数据干净且准确,并且可以最大程度地利用可用数据。

更新于: 2023年5月12日

6K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告