可以使用DataFrame的dropna方法删除所有包含空值的行,然后使用DataFrame的isna方法检查每一列是否有空值,最后使用loc方法来获取没有空值的列。
示例代码如下:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4],
'B': [None, 5, 6, 7],
'C': [8, 9, 10, 11],
'D': [None, None, None, None]})
# 删除所有包含空值的行
df = df.dropna()
# 检查每一列是否有空值
mask = df.isna().any()
# 获取没有空值的列
result = df.loc[:, ~mask]
print(result)
运行结果为:
A C
0 1 8
1 2 9
2 3 10
3 4 11
可以看到,结果中只包含没有空值的列A和C。