<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 8, 2017 at 6:41 PM, Stephan Hoyer <span dir="ltr"><<a href="mailto:shoyer@gmail.com" target="_blank">shoyer@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">On Fri, Dec 8, 2017 at 4:17 PM Jeff Reback <<a href="mailto:jreback@yahoo.com" target="_blank">jreback@yahoo.com</a>> wrote:</div></div><div dir="auto"><div dir="auto"><div class="gmail_quote" style="width:343px"><blockquote class="gmail_quote" style="width:343px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif" dir="auto">From <span style="color:rgb(24,143,255);font-weight:700">Stephan Hoyer</span><span class="gmail-m_5199109642690214536m_4251743676091047826m_6280333255116226318ydpe2440879u_N gmail-m_5199109642690214536m_4251743676091047826m_6280333255116226318ydpe2440879C_Z1VRpVF"> <<a href="mailto:shoyer@gmail.com" target="_blank">shoyer@gmail.com</a>></span></div></blockquote></div></div><span class="gmail-"><div dir="auto"><div class="gmail_quote" style="width:343px"><blockquote class="gmail_quote" style="width:343px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif" dir="auto"><div dir="auto"><br></div><div dir="auto">> Yes, in most cases. But this isn't what skipna=True does, which is explicitly an indication to skip NaNs.</div></div></blockquote></div></div><div dir="auto"><div class="gmail_quote" style="width:343px"><blockquote class="gmail_quote" style="width:343px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif"><div dir="auto"><br></div></div></div><div><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif"><div dir="auto">Here's where we differ.<font face="courier new, courier, monaco, monospace, sans-serif"> skipna=True</font><font face="verdana, helvetica, sans-serif"> does not mean, let's remove the NaN's and then compute</font></div><div dir="auto"><font face="verdana, helvetica, sans-serif">the operation, rather it means, ignore the NaN's in computing the operation. These are distinct</font></div><div dir="auto"><font face="verdana, helvetica, sans-serif">and the crux of NaN propagation. This is simply a practical view of things.</font></div><div dir="auto"></div></div></div></blockquote><div dir="auto"><br></div></div></div></span><div dir="auto"><div class="gmail_quote" style="width:343px"><div dir="auto">I think "skipping" vs "ignore in the calculation" is too subtle of a distinction to insist on users understanding from a docstring/argument name.</div></div></div><span class="gmail-"><div dir="auto"><div class="gmail_quote" style="width:343px"><div dir="auto"><br></div><blockquote class="gmail_quote" style="width:343px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif" dir="auto"><div dir="auto">Sure one could always mask the NaN's themselves and do anything, but again I WILL belabor the point. Pandas<br></div><div dir="auto">is meant to be obvious and sensible.</div></div></blockquote><div dir="auto"><br></div></div></div></span><div dir="auto"><div class="gmail_quote" style="width:343px"><div dir="auto">If nothing else, this debate should make it very clear that there is no single "obvious and sensible" answer to how  an empty or all-null sum should work. If it would help, I volunteer to survey my Twitter followers about which behavior they think is obvious ;).</div><div dir="auto"><br></div><div>The best we can do is consider various use cases and clearly explain our reasoning/decision, with the recognition that it is not possible to satisfy everyone.  <br></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><span class="gmail-"><div dir="auto"><div class="gmail_quote" style="width:343px"><blockquote class="gmail_quote" style="width:343px;margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="font-family:"Helvetica Neue",Helvetica,Arial,sans-serif" dir="auto"><div dir="auto">Finally, we have a very very limited response of users / developers here (in this thread). I could be completely wrong, <br></div><div dir="auto">but I suspect many users have been *relatively* happy with pandas choices over the years.</div></div></blockquote><div dir="auto"><br></div></div></div></span><div dir="auto"><div class="gmail_quote" style="width:343px"><div dir="auto">Rather I would say that most users probably don't actually care about this debate either way. This is edge case behavior that doesn't come up everyday.</div></div></div></div></blockquote><div><br></div>Agreed. Let's just emit a warning on all-NA or empty sums and *then*<br></div><div class="gmail_quote">we'll start hearing from people :) (that's a joke in case it wasn't clear). The fact that<br></div><div class="gmail_quote">we lived with differing behavior based on bottleneck for so long is evidence for this<br></div><div class="gmail_quote">not mattering too much.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Thoughts Jeff? I'm trying to gauge where you're at and what the points of disagreement<br>are, as you seem to be pretty strongly against option 1 and I don't think this should go<br>forward when we're this split on the issue.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Do you agree that there isn't an obviously correct solution? That any option is valid, and<br></div><div class="gmail_quote">it's a matter of picking good defaults, providing options, and documenting things well? Statements<br></div><div class="gmail_quote">like "In any actual real world calculation this is a disaster and the worst possible scenario." make<br></div><div class="gmail_quote">me think you're strongly -1 on option 1.<br></div><br></div><div class="gmail_extra">Tom<br></div><div class="gmail_extra"><div class="gmail_quote"><br></div><div class="gmail_quote"> <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><div class="gmail_quote" style="width:343px"><div dir="auto">Cheers,</div><div dir="auto">Stephan</div></div></div></div>
<br>______________________________<wbr>_________________<br>
Pandas-dev mailing list<br>
<a href="mailto:Pandas-dev@python.org">Pandas-dev@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/pandas-dev" rel="noreferrer" target="_blank">https://mail.python.org/<wbr>mailman/listinfo/pandas-dev</a><br>
<br></blockquote></div><br></div></div>