added negative value support in pct_changes of generic.py
closes #56618

Thanks for the PR. Few points:

1. We can't change the default behavior without a deprecation cycle here (and reading the comments of the issue, don't think the default needs to change either).
2. You'll need to add another argument/parameter to the `pct_change` method that indicates whether or not you want to take absolute value of the denominator (similar changes would be required in your tests as well) @asishm-wk I am not able to figure out the issue with the failing check
Could you please help with the same
 The error comes from mypy - if you click on the failed build.

> pandas/core/generic.py:12152: error: Unsupported left operand type for / ("Self")  [operator]
> pandas/core/generic.py:12152: note: Right operand is of type "Self | DataFrame"

Looks like you removed the type ignore comment when you made the changes (needs to be there in both the if and else statements). I appreciate the PR but I am not sure it is worth expanding the API for this.  Thanks for the PR but it is a bit too early to craft a solution to the issue as it's still being actively discussed. Going to close but we can reopen if it has more acceptance from the core developers