Python 如何在数据帧中显示非空行和列
在本教程中,我们将学习如何使用一些库在Python数据帧中显示非空行和列。我们将在本教程中使用Pandas库。
数据帧是Pandas中的一种类似于Excel表格或SQL表的数据结构。它是一种二维标记数据结构,可以容纳多列不同类型的数据,如整数、浮点数、字符串等。Pandas提供了一个强大的数据结构”数据帧”和其他用于处理大数据的有用方法。
方法1
显示数据帧中非空行和列的一种方法是使用dropna()方法。它返回一个从原始数据帧中删除了包含空值的所有列和行的数据帧。
语法
要使用dropna()方法显示图像,需要遵循以下语法-
df = df.dropna()
print(df)
我们在dataframe ‘df’上使用’dropna()’方法,过滤掉所有的空值。然后,我们将使用print()函数将其打印出来。
示例
在这个示例中,我们使用Pandas库。所以首先,我们会导入Pandas库,并将其别名为’pd’。名为’data’的字典包含一些样本数据,其键表示列,值表示行的列表。在这里,我们故意将一些值设置为’None’,以演示’dropna()’方法的使用。然后,我们将将此字典传递给pandas的DataFrame()函数,该函数使用’pd.DataFrame(data)’返回一个dataframe对象。
然后,我们将在此’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()’方法在该数据帧上通过将其’thresh’参数设为2来删除包含少于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’的DataFrame上使用’notnull()’方法来过滤掉空值。’all()’方法的’axis’参数设置为’1’只返回包含非空值的行。然后我们使用print()函数打印结果DataFrame。
示例
在这个示例中,我们首先创建一个包含一些空值的自定义DataFrame。然后我们在这个DataFrame上使用’notnull()’方法创建一个布尔型DataFrame,其中空值表示为’False’,非空值表示为’True’。接着我们在这个布尔型DataFrame上使用参数’axis’设置为’1’的’all()’方法,只返回所有值都非空的行。
最后,我们将过滤后的DataFrame重新赋值给原始DataFrame变量’df’,并使用print()函数显示结果DataFrame。
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()函数创建包含自定义数据的数据框。讨论的不同方法对于过滤具有非空值的行和列非常有用,在处理大型数据集时特别有用,因为空值经常会导致数据分析和建模方面的问题。通过删除这些空值,我们可以确保我们的数据干净准确,并且我们可以充分利用可用的数据。