为了账号安全,请及时绑定邮箱和手机立即绑定

为什么熊猫会在 NaN 上合并?

为什么熊猫会在 NaN 上合并?

精慕HU 2021-09-11 16:01:52
我最近在这里问了一个关于 pandas 中缺失值的问题,并被定向到一个github 问题。通读该页面和丢失的数据文档后。我很奇怪,为什么merge和join治疗的NaN作为比赛时“都比不上等于”:np.nan != np.nan# merge exampledf = pd.DataFrame({'col1':[np.nan, 'match'], 'col2':[1,2]})df2 = pd.DataFrame({'col1':[np.nan, 'no match'], 'col3':[3,4]})pd.merge(df,df2, on='col1')    col1    col2    col30   NaN      1       3# join example with same dataframes from abovedf.set_index('col1').join(df2.set_index('col1'))      col2  col3col1        NaN     1   3.0match   2   NaN但是,groupby排除了NaN :df = pd.DataFrame({'col1':[np.nan, 'match', np.nan], 'col2':[1,2,1]})df.groupby('col1').sum()       col2col1    match   2当然你可以dropna(),df[df['col1'].notnull()]但我很好奇为什么 NaN 被排除在一些 Pandas 操作中,groupby而不是像merge, join, update, 和map?从本质上讲,正如我上面问,为什么不merge和join匹配np.nan时,他们不这样做比较相等?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号