ENH: xz compression_args df.to_pickle(path, compression={'method':'xz','pr…
…eset': level})
level = 9

- [x] closes #52979 (Replace xxxx with the GitHub issue number)
- [x] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Thank you for the PR. You definitely will need the following:
- tests
- update the documentation https://github.com/pandas-dev/pandas/blob/8cf4ab491b06274f555d1ea305c172354208747a/pandas/core/shared_docs.py#L462 (and for decompression below that)
- and a whatsnew entry: doc/source/whatsnew/v2.1.0.rst Thank you for advices and maintaining pandas! Seems done with checks and docs. Do I need add any new tests or it's ready? > Thank you for advices and maintaining pandas! Seems done with checks and docs. Do I need add any new tests or it's ready?

Yes, you will need a test. Probably in https://github.com/pandas-dev/pandas/blob/main/pandas/tests/io/test_compression.py I'm not sure how to best test that the keywords are being forwarded: maybe one test with either to_pickle/read_csv and just pass a valid argument and then another test that passes an invalid keyword that raises an error in lzma to ensure the keyword is forwarded to it.

edit: should probably test both to_pickle and read_csv just to cover one read/write method. Thank you! Done. Seems now everything is ready for review. Thanks @segatrade 