Skip to content

ENH: Change MultiIndex.get_level_values() to MultiIndex.get_level() #50497

Closed
@mcp292

Description

@mcp292

Feature Type

  • Adding new functionality to pandas

  • Changing existing functionality in pandas

  • Removing existing functionality in pandas

Problem Description

The Index.values attribute is already associated with an array type, but MultiIndex.get_level_values() returns an Index object - which is confusing.

Feature Description

Changing the method name to MultiIndex.get_level() should correct this inconsistency.

In English:
MultiIndex.get_level() intuitively returns an Index object of that level. MultiIndex.get_level_values() intuitively returns an array object of that level. But, the reality is MultiIndex.get_level_values() returns an Index object of that level.

In code:

# intuitively
level_index = df.index.get_level("Level")
level_values = df.index.get_level_values("Level")

# reality
level_index = df.index.get_level_values("Level")
level_values = df.index.get_level_values("Level").values

Alternative Solutions

Alias and deprecate.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementNeeds TriageIssue that has not been reviewed by a pandas team member

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions