You need to enable JavaScript to run this app. 如何删除pandas DataFrame指定字典列含None值的行
优惠活动
大模型
产品
解决方案
定价
更多

如何删除pandas DataFrame指定字典列含None值的行

删除full_time_result列全None字典对应行的实现方法

目标列full_time_result存储的是Python字典类型,不需要做字符串模糊匹配,直接逐行校验字典内的值就能完成过滤,具体有两种常用实现方式:

通用过滤(适配所有字典全None的场景)

不管异常字典的键结构是什么,只要字典内所有值都是None就删除,逻辑兼容性更强:

# 生成筛选掩码:仅保留字典中存在非None值的行
keep_mask = df['full_time_result'].apply(
    lambda row_dict: not all(val is None for val in row_dict.values())
)
cleaned_df = df[keep_mask]

对应你的示例数据,第3行伊普斯维奇对阵斯温登的赛事,因为full_time_result的三个键值全为None,会被直接过滤掉。

精准匹配固定异常值

如果你确定要删除的就是完全匹配{'1': None, 'X': None, '2': None}的行,可以直接做等值判断,代码更简洁:

# 定义需要排除的异常字典
bad_dict = {'1': None, 'X': None, '2': None}
cleaned_df = df[df['full_time_result'] != bad_dict]

注意:如果读取数据后full_time_result列被识别为字符串而非字典类型,需要先通过ast.literal_eval把字符串格式的字典转换为真实字典,再执行上述筛选,否则匹配会失效。

处理完成后,剩下的就是前3场有有效赔率的英格兰甲级联赛赛事记录。


内容的提问来源于stack exchange,提问作者PyNoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.10 02:06:04