python - 识别包含 None 值的 pandas 列

标签 python pandas nonetype geopandas

我有一个 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 值的列?

我尝试使用以下列表理解但没有成功:

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给出包含null的列的输出

Id       False
text     True
float    False
geometry False

所以用这个

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

输出:

['text']

关于python - 识别包含 None 值的 pandas 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54103661/

相关文章:

python - Python doctest 中限制浮点精度比较的最佳方法

python - 2016 年 Pandas 数据框用户数量最多

pandas xlsxwriter 堆积条形图

python - 根据多个条件创建列

arrays - Scala 如何为 None 数组进行模式匹配

python - NoneType 似乎被评估为 True

python - 如何在序列化程序创建方法中获取 URL Id?

python - Pandas :为缺失日期填充数据

python - 因未知原因收到 TypeError

python - 使用 selenium find_elements_by_xpath 多次返回同一元素的数组而不是所有元素