Hi,

On Tue, 10 Oct 2023 at 00:55, Andrew Nelson <andyf...@gmail.com> wrote:
>
>
> On Mon, 9 Oct 2023 at 23:50, Matthew Brett <matthew.br...@lis.ac.uk> wrote:
>>
>> Hi,
>>
>> On Mon, Oct 9, 2023 at 11:49 AM Andrew Nelson <andyf...@gmail.com> wrote:
>> Could you say more about why you consider:
>> np.mean(x, dropna=True)
>> to be less clear in intent than:
>> np.nanmean(x)
>> ?  Is it just that someone could accidentally forget that the default
>
>
> The discussion isn't a deal breaker for me, I just wanted to put out a 
> different POV.
> The name of the function encodes what it does. By putting them both in the 
> function name it's clear what the function does.
>
> nanmean -> deals with nan when calculating a mean.
>
> -vs-
>
> mean -> calculates a mean
>   |
>   ----> oh, it has dropna as a keyword argument, that's how you deal with nan.
>
>
> Imagine that one has a large codebase and you have to find all the locations 
> where nans could affect a mean. There may be lots of prod, sum, etc, also 
> distributed within the codebase. You wouldn't want to search for `dropna` 
> because you get every function that handles a nan. If you search for nanmean 
> you only get the locations you want.

So, is this the more or less the difference between:

grep 'np\.nanmean' *.py

and

grep 'np\.mean(.*,\s*dropna\s*=\s*True' *.py

?

Cheers,

Matthew
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to