是否存在不同的字符串NaN值?DataFrame空单元格比对异常求助
问题描述
我有一个包含多列的DataFrame,需要比对其中value_a和value_b两列的数值,将两列值不同的行存入新DataFrame。
原始DataFrame示例
| 其他列 | value_a | value_b | 其他列 |
|---|---|---|---|
| ... | 12 | 12 | ... |
| ... | 1.3 | 1.6 | ... |
| ... | abc | def | ... |
期望结果DataFrame
| 其他列 | value_a | value_b | 其他列 |
|---|---|---|---|
| ... | 1.3 | 1.6 | ... |
| ... | abc | def | ... |
实际问题
实际筛选后,结果里还包含大量两列均为空单元格的行,示例如下:
| 其他列 | value_a | value_b | 其他列 |
|---|---|---|---|
| ... | ... | ||
| ... | ... |
这些空单元格互相比对时被判定为不匹配。
排查代码及结果
为查看列中空值情况,我执行了以下代码:
df2['non-numeric_a'] = df['value_a'].mask(df['value_a'].notna()) df2['non-numeric_b'] = df['value_b'].mask(df['value_b'].notna()) print(set(df2['non-numeric_a'])) print(set(df2['non-numeric_b']))
输出结果中,non-numeric_a的集合是{nan},non-numeric_b的集合是{nan, nan, nan, ..., nan}。
疑问
是否存在不同字符串形式的NaN值,导致空单元格比对时被判定为不匹配?
内容的提问来源于stack exchange,提问作者di1a
相关产品推荐
相关产品推荐

