Pandas 中删除空列
在使用Pandas处理数据时,很有可能出现没有任何值或值全为空的情况。这些空值或空列对数据的分析和处理都是无用的,需要将其删除。本文将介绍如何使用Pandas删除空列。
在Pandas中,为了方便数据处理和分析,数据通常被转换成一个DataFrame对象。一个DataFrame对象可以理解为一个表格,由多行多列的数据构成。通常,每一列代表数据集中的一个变量,每一行代表数据集中的一个样本。下面,我们从头开始创建一个DataFrame对象。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
上述代码创建了一个3行3列的DataFrame对象。我们来看一下它的输出:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
DataFrame对象中每一列的值都可以使用一个Series对象表示。对于Series对象,有两个方法可以用来检查它是否为空,分别是isnull()和notnull()。这两个方法返回一个布尔值的Series对象,其中True表示该位置上的值为空,False表示该位置上的值非空。
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df.isnull())
上述代码将DataFrame对象中存在空值的位置设置为True,打印输出如下:
A B C
0 False False False
1 False True False
2 True True False
我们可以发现,该DataFrame对象中有两个空列,即’A’和’B’列。我们需要将它们删除。Pandas中提供了dropna()函数可以删除DataFrame对象中的空值。我们可以指定删除空值所在的列(axis=1表示删除列,axis=0表示删除行)。
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, np.nan], 'C': [7, 8, 9]})
print(df.dropna(axis=1))
上述代码删除了DataFrame对象的空列,打印输出如下:
C
0 7
1 8
2 9
可以看到,已经成功删除了空列。
更多Pandas相关文章,请阅读:Pandas 教程
结论
在Pandas中,我们可以使用isnull()和notnull()方法来检查DataFrame对象中的空值。如果需要删除DataFrame对象中的空列,可以使用dropna()函数,指定axis=1即可。