Pandas 中删除空列
Pandas 数据帧是一个非常强大的数据操作工具。它是由行和列组成的表格数据结构,这个二维矩阵的大小可以根据数据集的复杂性而变化。我们可以使用不同类型的来源创建数据帧,从数据库到文件等等。
Pandas 数据帧中的列表示一系列信息,可以是整数、浮点数或字符串。我们可以对这些列执行多种操作,包括删除、索引和过滤等。在本文中,我们将执行从 Pandas 数据帧中删除/移除空列等基本操作。
首先,让我们理解在数据帧中什么是空列。
更多Pandas文章,请阅读:Pandas教程
创建带有空列的数据帧
我们通过利用计算机技术来创建一个用于分析数据的数据帧。每列都是一个数据块,它拥有一定的意义。在复杂的数据集中,生成的数据帧可能包含一些空列,这会降低数据帧的相关性。为了产生一个优化的数据帧,我们 tend to 删除这种不必要的数据。
如果一列包含 “NaN”(不是数字)值,则被认为是 “空”。 由“空格” 和 “零值” 组成的列在本质上不是“空的”,因为“空格”和“零值”都代表着数据集的某些特征。
当我们创建一个数据帧并且不向列传递任何数据时,就会创建一个空列。我们可以使用“dataframe.drop()”方法来删除正常列和空列,但是如果要特定删除空列,则需要使用“dataframe.dropna()”方法。让我们创建一个带有“NaN”值的数据帧,然后开始删除操作。
实例
我们导入“pandas”和“numpy”库,然后传递一个字典数据集,其中包含有关不同宿舍的信息。
我们使用“DataFrame()”函数创建数据帧并传递一个标签值列表来标记行。
在数据集中,我们使用Numpy库将“Hostel location”列分配为NaN值,最后打印数据帧。
输出
使用 dropna() 方法删除空列
让我们将 dropna() 方法应用于之前的数据帧。
实例
创建数据帧后,我们使用“dropna()”函数删除所有列的 NaN 值。
因为我们正在对列进行操作,所以将轴值指定为 “1”,然后通过将 “all” 值分配为 “how” 值来编写删除逻辑。这意味着仅当所有值都是 “NaN” 时才会删除列。
最后,我们创建并打印一个新的数据帧,其中包含非 “NaN” 值。
输出结果
注意 − 如果要对原数据框进行更改而不是创建一个新的数据框,则使用“ inplace ”参数。
使用 notnull() 方法删除无用列
创建数据帧后,我们使用了“ notnull() ”方法和“ loc() ”函数来筛选并选取具有“NaN”值的列,指定了评估轴并打印了具有非“NaN”值的数据框。
示例
输出结果
结论
在本文中,我们介绍了删除无用列的不同方法,即“ dropna() ”方法和“ notnull() ”方法,以及它们如何用于从数据框中删除无用列。我们还了解到了摆脱这些不必要数据的重要性以及如何增加数据框的相关性。