如何解决对包含 Nan 的缺失值
我想对 Pandas 数据框中的两列求和,其中两列都包含缺失值。 我已经浏览了互联网,但没有找到我正在寻找的精确输出。
col1 col2
1 NaN
NaN 1
1 1
Nan Nan
我想要的输出:
col1 col2 col_sum
1 NaN 1
NaN 1 1
1 1 2
Nan Nan Nan
我不想要的:
当简单地使用 df['col_sum'] = df['col1'] + df['col2']
给我
col1 col2 col_sum
1 NaN Nan
NaN 1 Nan
1 1 2
Nan Nan Nan
col1 col2 col_sum
1 NaN 1
NaN 1 1
1 1 2
Nan Nan 0
因此,我希望具有缺失值的数字的总和输出该数字,而两个缺失值的总和输出一个缺失值。
将 Nan 视为 0 值对我来说是个问题。因为稍后,如果我将 mean()
的 col_sum
带上 0
或 Nan
会给出完全不同的结果(或者不是吗??) .
解决方法
使用 Series.add
和 fill_value
参数:
df['col_sum'] = df['col1'].add(df['col2'],fill_value=0)
或带有 sum
参数的 min_count=1
:
df['col_sum'] = df.sum(min_count=1,axis=1)
print (df)
0 1.0 NaN 1.0
1 NaN 1.0 1.0
2 1.0 1.0 2.0
3 NaN NaN NaN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。