如何在Python数据帧中显示非空行和列?
在本教程中,我们将学习如何使用一些库在Python数据帧中显示非空行和列。我们将在本教程中使用Pandas库。
数据帧是类似于Excel表格或SQL表的pandas数据结构。它是一个二维标记的数据结构,可以容纳多个可能具有不同类型的数据的列,例如整数,浮点数,字符串等。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’ 参数的 ‘all()’ 方法仅返回仅包含非空值的行。然后使用 print() 函数打印结果数据帧。
示例
在此示例中,我们首先创建一个带有一些空值的自定义数据帧。然后我们使用 ‘notnull()’ 方法创建一个布尔类型数据帧,在该数据帧中,空值表示为 ‘False’,非空值表示为 ‘True’。我们在此布尔类型数据帧上使用带有参数 ‘axis’ 设为 ‘1’ 的 ‘all()’ 方法,它仅返回所有值均为非空的行。
最后,我们将过滤后的结果数据帧分配回原始数据帧变量 ‘df’,并使用 print() 函数显示结果数据帧。
import pandas as pd
# 创建一个样例数据帧
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)
# 过滤包含非空值的行和列
df = df[df.notnull().all(axis=1)]
# 显示过滤后的结果数据帧
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() 函数创建由自定义数据组成的数据帧。讨论的不同方法非常有用,可以过滤包含非空值的行和列,在处理大型数据集时很实用,因为空值通常会在数据分析和建模过程中引起问题。通过删除这些空值,我们可以确保数据干净准确,从而充分利用可用数据。