如何在Pandas DataFrame中新增列标记是否存在空值?
实现方案
原DataFrame构造代码
import pandas as pd dic = {'animal':["cat", "dog", "rabbit"], 'colour': ["yellow", None, "red"], 'size':[None, "large", "small"]} df = pd.DataFrame(dic)
实现代码
直接利用Pandas内置方法即可快速完成需求:
# 新增bool列,判断每行是否存在空值 df['bool'] = df.isna().any(axis=1)
执行结果
运行后得到的DataFrame如下:
animal colour size bool 0 cat yellow None True 1 dog None large True 2 rabbit red small False
代码说明
df.isna():遍历DataFrame所有单元格,返回一个结构完全一致的布尔值DataFrame,空值对应True,非空值对应False。.any(axis=1):按维度(行)判断,只要当前行存在至少一个True(即存在空值),就返回True,否则返回False。axis=1指定按行执行判断,默认不指定的话会按列处理。
内容的提问来源于stack exchange,提问作者lhmarsden
相关产品推荐
相关产品推荐

