DEPR `fill_method` and `limit` keywords in `pct_change`
- [ ] Closes #53491
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests)
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit)
- [x] Added an entry in the latest `doc/source/whatsnew/v2.1.0.rst` file

Can these be done in a single PR or in separate PRs? I don't think these can be done in a single major version. In 2.x we deprecate the default; in 3.x we can then change the default to None. Finally in 3.x we can also deprecate the arguments and in 4.x we can remove them. @rhshadrach I have updated the PR to deprecate only the default value of `fill_method`. Not sure if I'm doing correctly, so please let me know if I should make changes.

It also seems that deprecating this behavior is raising warnings in so many tests. I've already fixed some of those, do I need to fix the rest as well (like what I'm currently doing), or is there a better resolution? I disagree with @rhshadrach that this needs to be a two-major-version process.  This is just not that big of a deal. @jbrockmendel - what's your recommended way forward here? 1) warn if method is explicitly passed
2) otherwise warn if there are NAs present Ah - thanks; that sounds great to me. Okay, so in other words, revert to my original version, and in addition warn when has NA but method is not explicit passed.

I will make the changes soon. Thanks for your discussion. Could you merge main once more? Thanks @Charlie-XIAO  @rhshadrach @jbrockmendel Hi, we need `fill_method='None'` to force `pct_change` not to handle NAs, but this PR cause a lot of deprecated warning and we can't fix it. Before you provide an alternative to do that, deprecating`fill_method` is unwise. Does obj.fillna(...).pct_change not work, as is also mentioned in the deprecation message? @holymonson  > Does obj.fillna(...).pct_change not work, as is also mentioned in the deprecation message? @holymonson

We don't want `fillna()` at all, on the contrary we want keeping NAs, while your deprecation message doesn't tell howto **NOT** fillna. @holymonson - I've responded in #53491