看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas.DataFrame.rename_axis 是用于重命名 DataFrame 或 Series 的索引或列名的函数。可以为行索引或列索引设置新的名称。
DataFrame 和 Series 都有此方法,语法如下:
rename_axis(
mapper: 'IndexLabel | lib.NoDefault' = <no_default>,
*,
index=<no_default>,
columns=<no_default>,
axis: 'Axis' = 0,
copy: 'bool_t | None' = None,
inplace: 'bool_t' = False,
) -> 'Self | None'
为索引或列设置轴的名称。
参数:
mapper
:标量、类似列表,可选index
、columns
:标量、类似列表、类似字典或函数,可选columns
参数。此参数仅适用于 DataFrame 类型的对象。mapper
和 axis
来指定要使用 mapper
目标的轴,或使用 index
和/或 columns
。axis
:{0 或 'index',1 或 'columns'},默认 0copy
:布尔值,默认 Nonecopy
关键字的行为将发生变化。默认将启用写时复制(Copy-on-Write),这意味着所有带有 copy
关键字的方法将使用延迟复制机制来推迟复制,并忽略 copy
关键字。在未来的 pandas 版本中,copy
关键字将被删除。pd.options.mode.copy_on_write = True
。inplace
:布尔值,默认 False返回值:
Series
、DataFrame
或 None
inplace=True
则为 None
。注意:
DataFrame.rename_axis 支持两种调用约定:
(index=index_mapper, columns=columns_mapper,...)
(mapper, axis={'index', 'columns'},...)
第一种调用约定将仅修改索引的名称和/或作为列的 Index 对象的名称。在这种情况下,参数 copy
将被忽略。
第二种调用约定如果 mapper
是列表或标量,则会修改相应轴的名称。但是,如果 mapper
是类似字典或函数,则会使用修改轴标签的已弃用行为。
我们强烈建议使用关键字参数来明确您的意图。
Series
s = pd.Series(["dog", "cat", "monkey"])
'''
s
0 dog
1 cat
2 monkey
dtype: object
'''
s.rename_axis("animal")
'''
animal
0 dog
1 cat
2 monkey
dtype: object
'''
DataFrame
df = pd.DataFrame({"num_legs": [4, 4, 2],
"num_arms": [0, 0, 2]},
["dog", "cat", "monkey"])
df
'''
num_legs num_arms
dog 4 0
cat 4 0
monkey 2 2
'''
df = df.rename_axis("animal")
df
'''
num_legs num_arms
animal
dog 4 0
cat 4 0
monkey 2 2
'''
df = df.rename_axis("limbs", axis="columns")
df
'''
limbs num_legs num_arms
animal
dog 4 0
cat 4 0
monkey 2 2
'''
MultiIndex
df.index = pd.MultiIndex.from_product([['mammal'],
['dog', 'cat', 'monkey']],
names=['type', 'name'])
df
'''
limbs num_legs num_arms
type name
mammal dog 4 0
cat 4 0
monkey 2 2
'''
df.rename_axis(index={'type': 'class'})
'''
limbs num_legs num_arms
class name
mammal dog 4 0
cat 4 0
monkey 2 2
'''
df.rename_axis(columns=str.upper)
'''
LIMBS num_legs num_arms
type name
mammal dog 4 0
cat 4 0
monkey 2 2
'''
更新时间:2024-07-16 15:08:04 标签:pandas python 轴 索引