我尝试在Pandas MultiIndex中重命名列名,但是它不起作用。在这里您可以看到我的系列对象。 顺便说一句,为什么数据框df_injury_record在此函数中成为系列对象?
Frequency_BodyPart = df_injury_record.groupby(["Surface","BodyPart"]).size()
在下一行中,您将看到我尝试重命名该列。
Frequency_BodyPart.rename_axis(index={'Surface': 'Class'})
但是此后,该列仍具有相同的名称。
问候
一个可能的问题应该是0.24
下的熊猫版本,否则您忘记分配回去,就像提到的@ 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列DataFrame也可用于较早的熊猫版本:
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