Pandas में MultiIndex के स्तरों को पुनर्व्यवस्थित करने के लिए MultiIndex.reorder_levels() मेथड का उपयोग करें। क्रम पैरामीटर का उपयोग करके स्तरों का क्रम सेट करें।
आवश्यक लाइब्रेरी आयात करें
import pandas as pd
सरणियाँ बनाएं और MultiIndex बनाएं
MultiIndex पैंडास ऑब्जेक्ट्स के लिए एक मल्टी-लेवल या हायरार्किकल इंडेक्स ऑब्जेक्ट है।
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
MultiIndex के स्तरों को पुनर्क्रमित करें
"order" पैरामीटर का उपयोग करके स्तरों को पुनर्व्यवस्थित करने के लिए स्तर सेट करें।
print("\nReorder levels in MultiIndex...\n", multiIndex.reorder_levels(order=[2, 0, 1]))
पूरा उदाहरण
import pandas as pd
# MultiIndex एक मल्टी-लेवल, या हायरार्किकल, इंडेक्स ऑब्जेक्ट है पैंडास ऑब्जेक्ट्स के लिए
# सरणियाँ बनाएं
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
# "names" पैरामीटर प्रत्येक इंडेक्स स्तर के लिए नाम सेट करता है
# from_arrays() का उपयोग MultiIndex बनाने के लिए किया जाता है
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
# MultiIndex प्रदर्शित करें
print("The MultiIndex...\n", multiIndex)
# MultiIndex में स्तर प्राप्त करें
print("\nThe levels in MultiIndex...\n", multiIndex.levels)
# MultiIndex के स्तरों को पुनर्क्रमित करें
# "order" पैरामीटर का उपयोग स्तरों को पुनर्व्यवस्थित करने के लिए किया जाता है
print("\nReorder levels in MultiIndex...\n", multiIndex.reorder_levels(order=[2, 0, 1]))
आउटपुट
The MultiIndex... MultiIndex([(2, 'Peter', 50), (4, 'Chris', 30), (3, 'Andy', 40), (1, 'Jacob', 70)], names=['rank', 'student', 'points']) The levels in MultiIndex... [[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]] Reorder levels in MultiIndex... MultiIndex([(50, 2, 'Peter'), (30, 4, 'Chris'), (40, 3, 'Andy'), (70, 1, 'Jacob')], names=['points', 'rank', 'student'])