在Python中更改行的名称

时间:2018-01-29 13:55:30

标签: python rename series

我想在python中更改行的名称。 我通过

获得了数据帧的方法
df10mean = df10.mean()

这是我的输出:

1-      256.098455
1+      302.581844
2-    19116.212118
2+    23312.823240
3-     1484.770812
3+     1689.325187
4-     1412.037664
4+     2042.475828
5-     1109.064987
5+     1604.215015
6-     1165.800898
6+     1390.945443
7-    19309.453761
7+    24180.334620
dtype: float64

现在我想重命名第一列。我试过了

df10mean3 = df10mean2.rename(columns={'1-': 'EVC -', '1+': 'EVC +', '2-': 'RBS* mVenus -', '2+': 'RBS* mVenus +',
                           '3-': 'H56-1 mVenus -', '3+': 'H56-1 mVenus +', '4-': 'H56-1 mVenus + T56-0 -',
                            '4+': 'H56-1 mVenus + T56-0 +', '5-': 'H56-2 mVenus -', '5+': 'H56-2 mVenus +',
                            '6-': 'H56-2 mVenus + T56-0 -', '6+': 'H56-2 + T56-0 +', '7-': 'RBS* mVenus T56-0 -',
                                 '7+': 'RBS* mVenus T56-0 +'}, inplace = true)

输出为我提供了与以前相同的列名。它没有改变任何东西。

我试着解决这个问题两天了。请你帮助我好吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

我认为您需要将columns更改为index,因为使用Series并且没有列,如果分配给新变量则删除inplace=True

df10mean3 = df10mean2.rename(index=d)

或省略它:

d = {'1-': 'EVC -', '1+': 'EVC +', 
'2-': 'RBS* mVenus -', '2+': 'RBS* mVenus +',
'3-': 'H56-1 mVenus -', '3+': 'H56-1 mVenus +', 
'4-': 'H56-1 mVenus + T56-0 -', '4+': 'H56-1 mVenus + T56-0 +',
'5-': 'H56-2 mVenus -', '5+': 'H56-2 mVenus +',
'6-': 'H56-2 mVenus + T56-0 -', '6+': 'H56-2 + T56-0 +', 
'7-': 'RBS* mVenus T56-0 -', '7+': 'RBS* mVenus T56-0 +'}

df10mean3 = df10mean2.rename(d)
print (df10mean3)
EVC -                       256.098455
EVC +                       302.581844
RBS* mVenus -             19116.212118
RBS* mVenus +             23312.823240
H56-1 mVenus -             1484.770812
H56-1 mVenus +             1689.325187
H56-1 mVenus + T56-0 -     1412.037664
H56-1 mVenus + T56-0 +     2042.475828
H56-2 mVenus -             1109.064987
H56-2 mVenus +             1604.215015
H56-2 mVenus + T56-0 -     1165.800898
H56-2 + T56-0 +            1390.945443
RBS* mVenus T56-0 -       19309.453761
RBS* mVenus T56-0 +       24180.334620
dtype:                         float64
Name: col, dtype: object

inplace=True重命名为原始Series

df10mean2.rename(d, inplace=True)
print (df10mean2)
EVC -                       256.098455
EVC +                       302.581844
RBS* mVenus -             19116.212118
RBS* mVenus +             23312.823240
H56-1 mVenus -             1484.770812
H56-1 mVenus +             1689.325187
H56-1 mVenus + T56-0 -     1412.037664
H56-1 mVenus + T56-0 +     2042.475828
H56-2 mVenus -             1109.064987
H56-2 mVenus +             1604.215015
H56-2 mVenus + T56-0 -     1165.800898
H56-2 + T56-0 +            1390.945443
RBS* mVenus T56-0 -       19309.453761
RBS* mVenus T56-0 +       24180.334620
dtype:                         float64
Name: col, dtype: object

答案 1 :(得分:0)

好的,我刚刚在jezrael的帮助下得到它。 我用了这段代码:

df10mean3 = df10mean2.rename(index={'1-': 'EVC -', '1+': 'EVC +', '2-': 'RBS* mVenus -', '2+': 'RBS* mVenus +',
                           '3-': 'H56-1 mVenus -', '3+': 'H56-1 mVenus +', '4-': 'H56-1 mVenus + T56-0 -',
                            '4+': 'H56-1 mVenus + T56-0 +', '5-': 'H56-2 mVenus -', '5+': 'H56-2 mVenus +',
                            '6-': 'H56-2 mVenus + T56-0 -', '6+': 'H56-2 + T56-0 +', '7-': 'RBS* mVenus T56-0 -',
                                 '7+': 'RBS* mVenus T56-0 +'})

非常感谢!