如何在Pandas DataFrame列中用字典替换NaN值
解决方案
可以通过以下两种方式实现用{"value":["100"]}替换目标列中的NaN值:
方法1:使用fillna()直接替换
这是最简洁的方式,fillna()会自动识别列中的NaN值并替换,不会影响已有字典类型的行:
target_column = "你的列名" # 替换成实际列名 df[target_column] = df[target_column].fillna({"value": ["100"]})
方法2:布尔索引定位赋值
通过isna()筛选出NaN行,直接给匹配行赋值目标字典:
target_column = "你的列名" df.loc[df[target_column].isna(), target_column] = {"value": ["100"]}
验证替换结果
执行以下代码确认替换完成:
# 检查列中元素类型分布,应仅存在dict类型 print(df[target_column].apply(type).value_counts()) # 检查NaN数量,应返回0 print(df[target_column].isna().sum())
内容的提问来源于stack exchange,提问作者datashout
相关产品推荐
相关产品推荐

