TYP: tighten Axis by twoertwein · Pull Request #48612 · pandas-dev/pandas (original) (raw)

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

@twoertwein

axis can only be Literal[0, 1, "index", "columns"]. This PR tightens Axis = Union[int, str] to Axis = Union[int, Literal["index", "columns"]]. A future PR will take care of ints (currently 81 mypy errors).

xref pandas-dev/pandas-stubs#284

@twoertwein

@mroeschke

Note: I think "rows" is accepted too:

_AXIS_TO_AXIS_NUMBER: dict[Axis, int] = {0: 0, "index": 0, "rows": 0}

But I think it's not publicized well and maybe should be deprecated

@twoertwein

Note: I think "rows" is accepted too:

Yes, the following works:

pd.DataFrame({"A": [1, 2, 3]}, index=["A", "B", "C"]).rename({"A": "0"}, axis="rows") A 0 1 B 2 C 3

But I think it's not publicized well and maybe should be deprecated

It is definitely not well publicized - but it feels like an intuitive counterpart to columns. I will look into adding "rows" to Axis (from a typing perspective, not documentation) - can easily be removed if we try to deprecate it later.

@twoertwein

@twoertwein

@mroeschke

phofl pushed a commit to phofl/pandas that referenced this pull request

Sep 22, 2022

@twoertwein @phofl

mroeschke added a commit that referenced this pull request

Sep 26, 2022

…8662)

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

scorecard-action does not have a major version tag.

Temporarily disabling github.repository check to ensure action now works.

https://pandas.pydata.org/docs/reference/api/pandas.merge.html It should be "str | bool" instead of just string

fixed type hint in merge.py

Update indicator type hint in _MergeOperation

Added type hint _MergeOperation init

DOC: Document default value for options.display.max_cols

display.max_cols has a default value of 20 when not running in a terminal such as Jupyter Notebook

Co-Authored-By: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com Co-authored-by: Ralf Gommers ralf.gommers@gmail.com Co-authored-by: Marc Garcia garcia.marc@gmail.com Co-authored-by: Luke Manley lukemanley@gmail.com Co-authored-by: Siddhartha Gandhi siddhartha.a.gandhi@gmail.com Co-authored-by: Torsten Wörtwein twoertwein@users.noreply.github.com Co-authored-by: Xiao Yuan yuanx749@gmail.com Co-authored-by: paradox-lab 57354735+paradox-lab@users.noreply.github.com Co-authored-by: Pedro Nacht 15221358+pnacht@users.noreply.github.com Co-authored-by: dataxerik dsshar@gmail.com Co-authored-by: jbrockmendel jbrockmendel@gmail.com Co-authored-by: Pablo 48098178+PabloRuizCuevas@users.noreply.github.com Co-authored-by: tmoschou 5567550+tmoschou@users.noreply.github.com Co-authored-by: Thomas Li 47963215+lithomas1@users.noreply.github.com Co-authored-by: Richard Shadrach 45562402+rhshadrach@users.noreply.github.com

noatamir pushed a commit to noatamir/pandas that referenced this pull request

Nov 9, 2022

@twoertwein @noatamir

noatamir pushed a commit to noatamir/pandas that referenced this pull request

Nov 9, 2022

…ndas-dev#48662)

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

scorecard-action does not have a major version tag.

Temporarily disabling github.repository check to ensure action now works.

https://pandas.pydata.org/docs/reference/api/pandas.merge.html It should be "str | bool" instead of just string

fixed type hint in merge.py

Update indicator type hint in _MergeOperation

Added type hint _MergeOperation init

DOC: Document default value for options.display.max_cols

display.max_cols has a default value of 20 when not running in a terminal such as Jupyter Notebook

Co-Authored-By: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com

Co-authored-by: Matthew Roeschke 10647082+mroeschke@users.noreply.github.com Co-authored-by: Ralf Gommers ralf.gommers@gmail.com Co-authored-by: Marc Garcia garcia.marc@gmail.com Co-authored-by: Luke Manley lukemanley@gmail.com Co-authored-by: Siddhartha Gandhi siddhartha.a.gandhi@gmail.com Co-authored-by: Torsten Wörtwein twoertwein@users.noreply.github.com Co-authored-by: Xiao Yuan yuanx749@gmail.com Co-authored-by: paradox-lab 57354735+paradox-lab@users.noreply.github.com Co-authored-by: Pedro Nacht 15221358+pnacht@users.noreply.github.com Co-authored-by: dataxerik dsshar@gmail.com Co-authored-by: jbrockmendel jbrockmendel@gmail.com Co-authored-by: Pablo 48098178+PabloRuizCuevas@users.noreply.github.com Co-authored-by: tmoschou 5567550+tmoschou@users.noreply.github.com Co-authored-by: Thomas Li 47963215+lithomas1@users.noreply.github.com Co-authored-by: Richard Shadrach 45562402+rhshadrach@users.noreply.github.com

Labels

Typing

type annotations, mypy/pyright type checking

2 participants

@twoertwein @mroeschke