如何重命名熊猫系列?

时间:2013-08-31 22:45:46

标签: python pandas

如何更改Series对象的名称?

5 个答案:

答案 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)