คำตอบที่เลือกในปัจจุบันไม่ได้กล่าวถึงrename_axis
วิธีการที่สามารถใช้เพื่อเปลี่ยนชื่อดัชนีและระดับคอลัมน์
นุ่นมีนิสัยแปลก ๆ เมื่อต้องเปลี่ยนชื่อระดับของดัชนี นอกจากนี้ยังมีเมธอด DataFrame ใหม่rename_axis
เพื่อเปลี่ยนชื่อระดับดัชนี
มาดู DataFrame กัน
df = pd.DataFrame({'age':[30, 2, 12],
'color':['blue', 'green', 'red'],
'food':['Steak', 'Lamb', 'Mango'],
'height':[165, 70, 120],
'score':[4.6, 8.3, 9.0],
'state':['NY', 'TX', 'FL']},
index = ['Jane', 'Nick', 'Aaron'])

DataFrame นี้มีหนึ่งระดับสำหรับดัชนีแถวและคอลัมน์แต่ละรายการ ทั้งดัชนีแถวและคอลัมน์ไม่มีชื่อ เปลี่ยนชื่อระดับดัชนีแถวเป็น 'ชื่อ'
df.rename_axis('names')

rename_axis
วิธีการยังมีความสามารถในการเปลี่ยนชื่อคอลัมน์ระดับโดยการเปลี่ยนaxis
พารามิเตอร์:
df.rename_axis('names').rename_axis('attributes', axis='columns')

หากคุณตั้งค่าดัชนีด้วยคอลัมน์บางคอลัมน์ชื่อคอลัมน์จะกลายเป็นชื่อระดับดัชนีใหม่ ต่อท้ายระดับดัชนีใน DataFrame เดิมของเรา:
df1 = df.set_index(['state', 'color'], append=True)
df1

สังเกตว่าดัชนีเดิมไม่มีชื่ออย่างไร เรายังคงสามารถใช้งานได้rename_axis
แต่ต้องส่งผ่านรายการที่มีความยาวเท่ากับจำนวนระดับดัชนี
df1.rename_axis(['names', None, 'Colors'])

คุณสามารถใช้None
เพื่อลบชื่อระดับดัชนีได้อย่างมีประสิทธิภาพ
ซีรีส์ทำงานคล้ายกัน แต่มีความแตกต่างบางประการ
มาสร้างซีรี่ส์ที่มีดัชนีสามระดับ
s = df.set_index(['state', 'color'], append=True)['food']
s
state color
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: food, dtype: object
เราสามารถใช้rename_axis
ในลักษณะเดียวกับที่เราทำกับ DataFrames
s.rename_axis(['Names','States','Colors'])
Names States Colors
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: food, dtype: object
Name
ขอให้สังเกตว่ามีชิ้นพิเศษของเมตาดาต้าดังต่อไปนี้เรียกว่าซีรีส์ เมื่อสร้างซีรี่ส์จาก DataFrame แอตทริบิวต์นี้จะถูกตั้งค่าเป็นชื่อคอลัมน์
เราสามารถส่งชื่อสตริงไปยังrename
เมธอดเพื่อเปลี่ยนได้
s.rename('FOOOOOD')
state color
Jane NY blue Steak
Nick TX green Lamb
Aaron FL red Mango
Name: FOOOOOD, dtype: object
DataFrames ไม่มีแอตทริบิวต์นี้และ infact จะเพิ่มข้อยกเว้นหากใช้เช่นนี้
df.rename('my dataframe')
TypeError: 'str' object is not callable
ก่อนหน้าแพนด้า 0.21 คุณสามารถใช้rename_axis
เพื่อเปลี่ยนชื่อค่าในดัชนีและคอลัมน์ เลิกใช้งานแล้วดังนั้นอย่าทำเช่นนี้
rename_axis
วิธีการ