📅  最后修改于: 2023-12-03 15:19:15.700000             🧑  作者: Mango
在 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 或字符串来进行此操作,并将该方法用于行和列名称。