在Python多索引中重命名名称

2024-09-27 07:17:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在Pandas多索引中重命名列名,但不起作用。在这里你可以看到我的系列对象Btw,为什么数据帧df_伤害_记录会成为此函数中的一个系列对象

Frequency_BodyPart = df_injury_record.groupby(["Surface","BodyPart"]).size()

在下一行中,您将看到我尝试重命名列

Frequency_BodyPart.rename_axis(index={'Surface': 'Class'})

但在此之后,列仍然具有相同的名称

问候


Tags: 数据对象函数pandasdfsize记录record
1条回答
网友
1楼 · 发布于 2024-09-27 07:17:27

一个可能的问题应该是0.24下的pandas版本,或者您忘记了像@anky_91提到的那样分配回:

df_injury_record = pd.DataFrame({'Surface':list('aaaabbbbddd'),
                                 'BodyPart':list('abbbbdaaadd')})

Frequency_BodyPart = df_injury_record.groupby(["Surface","BodyPart"]).size()
print (Frequency_BodyPart)
Surface  BodyPart
a        a           1
         b           3
b        a           2
         b           1
         d           1
d        a           1
         d           2
dtype: int64

Frequency_BodyPart = Frequency_BodyPart.rename_axis(index={'Surface': 'Class'})
print (Frequency_BodyPart)
Class  BodyPart
a      a           1
       b           3
b      a           2
       b           1
       d           1
d      a           1
       d           2
dtype: int64

如果希望3列数据框也适用于较旧版本:

df = Frequency_BodyPart.reset_index(name='count').rename(columns={'Surface': 'Class'})
print (df)
  Class BodyPart  count
0     a        a      1
1     a        b      3
2     b        a      2
3     b        b      1
4     b        d      1
5     d        a      1
6     d        d      2

相关问题 更多 >

    热门问题