如何更改Series
对象的名称?
答案 0 :(得分:23)
您可以通过更改name
对象的subs
属性来执行此操作:
假设其名称为'Settle'
,并且您想将其更改为'Unsettle'
,只需更新name
属性,如下所示:
In [16]: s = Series(randn(10), name='Settle')
In [17]: s
Out[17]:
0 0.434
1 -0.581
2 -0.263
3 -1.384
4 -0.075
5 -0.956
6 0.166
7 0.138
8 -0.770
9 -2.146
Name: Settle, dtype: float64
In [18]: s.name
Out[18]: 'Settle'
In [19]: s.name = 'Unsettle'
In [20]: s
Out[20]:
0 0.434
1 -0.581
2 -0.263
3 -1.384
4 -0.075
5 -0.956
6 0.166
7 0.138
8 -0.770
9 -2.146
Name: Unsettle, dtype: float64
In [21]: s.name
Out[21]: 'Unsettle'
答案 1 :(得分:4)
s.reset_index(name="New_Name")
或
s.to_frame("New_Name")["New_Name"]
答案 2 :(得分:1)
很奇怪,我还没有看到这个,但是,如果您不想修改现有的系列,可以使用Series.rename
。
s = pd.Series('x', index=range(5), name='myseries')
s
0 x
1 x
2 x
3 x
4 x
Name: myseries, dtype: object
t = s.rename('foobar')
t
0 x
1 x
2 x
3 x
4 x
Name: foobar, dtype: object
s.name
# 'myseries'
t.name
# 'foobar'
但是为什么要麻烦一个功能?
方法链接。
ser.method1().rename('foobar').method2().method3()
对
ser = ser.method1()
ser.name = 'foobar'
ser.method2().method3()
使用rename
,您可以构建平滑的函数调用链。
答案 3 :(得分:0)
我最终将系列对象重命名为'Desired_Name',如下所示
# Let my_object be the pandas.Series object
my_object.name = 'Desired_Name'
然后现在在图例中读取的自动生成的名称现在是'Desired_Name'而不是之前的'Settle'。
答案 4 :(得分:0)
不确定为什么没有人提到rename
s.rename("new_name", inplace=True)