ENH: enable skipna on groupby reduction ops
State: closed

- [ ] closes #15675
- [ ] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [x] whatsnew entry

@mzeitlin11 Any help you can provide on what tests I should add, or where to start digging for similar `GroupBy` tests would be appreciated. As stated in PR #41399, I'm not super familiar with Cython, so hoping that the previous contributors (stale) PR is close to what's needed (I suppose the tests will tell us).

Thanks!


Labels:
name: Enhancement
name: Groupby
name: Stale
name: Reduction Operations
description: sum, mean, min, max, etc.

Comments:
Thanks for reheating this @geoffrey-eisenbarth! Might not have much time this week, but will look deeper at the cython and testing when I can. For now, I'd recommend fixing up the easier issues like `precommit` first. 

With respect to testing, I'd take a look at the tests we have for groupby ops which do accept `skipna` (like `any/all`, the cumulative methods) and try to ensure similar coverage (as in make sure the new possibility `skipna=False` is covered for different types). Can look at tests in `pandas/tests/groupby` for inspiration. Some testing is nicely organized, some testing is stuffed in places like `pandas/tests/groupby/test_functions`.

Also, until we add tests, probably best to put the pr in draft state so others know it's not fully ready for review
Is CircleCI a new addition to the pandas contribution flow? I don't recall running into this when I worked on PR 41321. 

When I click on the details, it says I need a configuration specified for this project. Is that something I need to do on my own?
> Is CircleCI a new addition to the pandas contribution flow? I don't recall running into this when I worked on PR 41321.
> 
> When I click on the details, it says I need a configuration specified for this project. Is that something I need to do on my own?

If you merge master it should pick up the config and fix this failure
This pull request is stale because it has been open for thirty days with no activity. Please update or respond to this comment if you're still interested in working on this.
@geoffrey-eisenbarth planning to pick this back up?  it looked promising
@jbrockmendel I was hoping to, since I rely on the old `sum(level=level, skipna=False)` syntax quite a bit. I know I let it fall behind and now two days ago was the birth my first child, so now it feels like I have zero time, but I will try to merge with master today to fix the CircleCI issues that came up (I'm not sure if CircleCI is new, but my previous contribution didn't seem to involve it) and see where that takes us.
No sweat, totally reasonable to have higher priorities under the circumstances.

Not sure about the circleci bit; often times I re-push and hope for CI issues to resolve themselves.
Hello @geoffrey-eisenbarth! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:

* In the file [`pandas/core/groupby/generic.py`](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py):

> [Line 340:1](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L340): [E305](https://duckduckgo.com/?q=pep8%20E305) expected 2 blank lines after class or function definition, found 1
> [Line 340:3](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L340): [E227](https://duckduckgo.com/?q=pep8%20E227) missing whitespace around bitwise or shift operator
> [Line 340:7](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L340): [E225](https://duckduckgo.com/?q=pep8%20E225) missing whitespace around operator
> [Line 341:5](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L341): [E113](https://duckduckgo.com/?q=pep8%20E113) unexpected indentation
> [Line 388:3](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L388): [E225](https://duckduckgo.com/?q=pep8%20E225) missing whitespace around operator
> [Line 388:5](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L388): [E225](https://duckduckgo.com/?q=pep8%20E225) missing whitespace around operator
> [Line 388:7](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L388): [E225](https://duckduckgo.com/?q=pep8%20E225) missing whitespace around operator
> [Line 389:7](https://github.com/pandas-dev/pandas/blob/de8b9fe0ee38b459287c65b012a7922141b62e36/pandas/core/groupby/generic.py#L389): [E225](https://duckduckgo.com/?q=pep8%20E225) missing whitespace around operator






would likely take this, but needs to be passing an fully code-reviewed. closing as stale.