识别包含 None 值的 pandas 列

Identify pandas column that contains None value

我有一个 geopandas 数据框 gdf,如下所示:

   Id  text  float                           geometry
0   0  1.65   0.00  POINT (1173731.7407 5354616.9386)
1   0  None   2.20   POINT (1114084.319 5337803.2708)
2   0  2.25   6.55  POINT (1118876.2311 5307167.5724)
3   0     0   0.00  POINT (1179707.5312 5313710.8389)

如何识别包含 None 值的 column/s?

我尝试使用以下列表推导式但没有成功:

import pandas as pd
import geopandas as gp

gdf = gp.read_file('/temp/myshapefile.shp')

s = [pd.isnull(col) for col in gdf.columns if True]

这导致:

In [1]: s
Out[1]: [False, False, False, False]

在这种情况下我想要的输出是:

['text']
print(gdf.isna().any())

将根据 truefalse

给出包含空值的输出
Id       False
text     True
float    False
geometry False

所以用这个

print(gdf.columns[gdf.isna().any()].tolist())

输出:

['text']