📜  Python| Pandas Series.rename_axis()(1)

📅  最后修改于: 2023-12-03 15:19:15.700000             🧑  作者: Mango

Python | Pandas Series.rename_axis()

简介

在 Pandas 中,Series 是一种一维数组,其中的每个元素都具有标签或索引。Series.rename_axis() 方法可以用于给索引轴和列轴重命名索引名称。

语法

Series.rename_axis(mapper, axis=0, copy=True, inplace=False)

参数
  • mapper:用于重命名索引名称的映射函数,可以是 dict、function、str 或 None(默认值)。如果 mapper 是 dict,那么将对指定的索引进行重命名,对于未列入映射的索引不执行任何行动。如果 mapper 是 function,则应该处理一个索引名称并以字符串返回另一个名称。如果 mapper 是 str,则使用 mapper 作为新名称。如果 mapper 是 None,则使用原始名称。默认情况下mapper=None。

  • axis:0 或 “index”(默认值)表示重命名行名称;1 或 “columns” 表示列名称。

  • copy:布尔值。默认值为 True。如果 copy 为 True,则返回 Series 的副本;否则,修改 Series 并返回 None。

  • inplace:布尔值。默认值为 False。如果 inplace 为 True,则修改 Series 并返回 None;否则返回修改后的 Series 副本。

返回值

返回重命名索引名称的新 Series 对象或 None(如果 inplace=True)。

例子
import pandas as pd
  
# 创建一个 Series
my_series = pd.Series([10, 20, 30, 40, 50], 
                      index = ['a', 'b', 'c', 'd', 'e'])
 
# 重命名索引名称 
new_series = my_series.rename_axis('Alphabet')
  
# 打印原始Series
print("Original Series:\n",my_series)
 
# 打印重命名后的Series
print("\nNew Series:\n",new_series)
输出
Original Series:
a    10
b    20
c    30
d    40
e    50
dtype: int64

New Series:
Alphabet
a    10
b    20
c    30
d    40
e    50
dtype: int64

在上面的示例中,我们使用 Series.rename_axis() 方法将索引的名称从标题“索引”更改为标题“字母表”。

# 使用 dict 重命名索引名称
my_series_dict = my_series.rename_axis({'a':'Apple', 'b':'Ball', 'c':'Cat', 'd':'Dog'})
print("\nSeries with renamed index using dict:\n",my_series_dict)

# 使用 function 重命名索引名称
def change_first_letter(x):
    return x[0]+ "_"+ x[1:]

my_series_func = my_series.rename_axis(change_first_letter)
print("\nSeries with renamed index using function:\n",my_series_func)
输出
Series with renamed index using dict:
Apple    10
Ball     20
Cat      30
Dog      40
e        50
dtype: int64

Series with renamed index using function:
a_Apple    10
b_Ball     20
c_Cat      30
d_Dog      40
e          50
dtype: int64

在上面的示例中,我们使用了 dict 和 function 来重命名索引名称。使用字典时,我们指定从原名称到新名称的映射。在我们的第二个示例中,我们编写了一个自定义函数 change_first_letter(),它接受每个索引名称作为输入,以第一个字母作为新名称的前缀加下划线,然后返回新名称。

总结

通过 Series.rename_axis() 方法,我们可以轻松地重命名 Pandas Series 的索引名称。我们可以使用 dict、function 或字符串来进行此操作,并将该方法用于行和列名称。