वर्तमान में चयनित उत्तर में उस rename_axis
विधि का उल्लेख नहीं है जिसका उपयोग सूचकांक और स्तंभ स्तरों का नाम बदलने के लिए किया जा सकता है।
जब सूचकांक के स्तरों का नाम बदलने की बात आती है, तो पंडों में कुछ विचित्रता होती है। 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
उसी तरह का उपयोग कर सकते हैं जो हमने डेटाफ्रैम के साथ किया था
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
।