बहु-स्तरीय कॉलम इंडेक्स से कई स्तर हटाने के लिए, columns.droplevel() का बार-बार उपयोग करें। हमने कॉलम-वार इंडेक्स बनाने के लिए Multiindex.from_tuples() का उपयोग किया है।
सबसे पहले, कॉलम-वार इंडेक्स बनाएं:
items = pd.MultiIndex.from_tuples([("Col 1", "Col 1", "Col 1"),("Col 2", "Col 2", "Col 2"),("Col 3", "Col 3", "Col 3")])
अगला, एक multiindex सरणी बनाएं और एक multiindex dataframe बनाएं:
arr = [np.array(['car', 'car', 'car','bike','bike', 'bike', 'truck', 'truck', 'truck']), np.array(['valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC'])] # multiindex dataframe बनाना dataFrame = pd.DataFrame(np.random.randn(9, 3), index=arr,columns=items)
इंडेक्स लेबल करें:
dataFrame.index.names = ['level 0', 'level 1']
इंडेक्स 0 पर एक स्तर हटाएं:
dataFrame.columns = dataFrame.columns.droplevel(0)
हमने 0 इंडेक्स पर एक स्तर हटा दिया। हटाने के बाद, स्तर 1 अब स्तर 0 है। एक और स्तर हटाने के लिए, बस उपरोक्त का फिर से उपयोग करें:
dataFrame.columns = dataFrame.columns.droplevel(0)
निम्नलिखित कोड है:
उदाहरण
import numpy as np
import pandas as pd
items = pd.MultiIndex.from_tuples([("Col 1", "Col 1", "Col 1"),("Col 2", "Col 2", "Col 2"),("Col 3", "Col 3", "Col 3")])
# multiindex सरणी
arr = [np.array(['car', 'car', 'car','bike','bike', 'bike', 'truck', 'truck', 'truck']), np.array(['valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC','valueA', 'valueB', 'valueC'])]
# multiindex dataframe बनाना
dataFrame = pd.DataFrame(np.random.randn(9, 3), index=arr,columns=items)
# इंडेक्स लेबल करना
dataFrame.index.names = ['one', 'two']
print("DataFrame...\n",dataFrame)
print("\nDropping a level...\n")
dataFrame.columns = dataFrame.columns.droplevel(0)
print("Updated DataFrame..\n",dataFrame)
print("\nDropping another level...\n")
dataFrame.columns = dataFrame.columns.droplevel(0)
print("Updated DataFrame..\n",dataFrame)
आउटपुट
यह निम्नलिखित आउटपुट देगा:
DataFrame... Col 1 Col 2 Col 3 Col 1 Col 2 Col 3 Col 1 Col 2 Col 3 one two car valueA 0.425077 0.020606 1.148156 -1.720355 0.502863 1.184753 0.373106 1.300935 -0.128404 car valueB -0.648708 0.944725 0.593327 -0.613921 -0.238730 -0.218448 0.313042 -0.628065 0.910935 car valueC 0.286377 0.478067 -1.000645 1.151793 -0.171433 -0.612346 -1.358061 0.735075 0.092700 Dropping a level... Updated DataFrame.. Col 1 Col 2 Col 3 Col 1 Col 2 Col 3 one two car valueA 0.425077 0.020606 1.148156 -1.720355 0.502863 1.184753 car valueB -0.648708 0.944725 0.593327 -0.613921 -0.238730 -0.218448 car valueC 0.286377 0.478067 -1.000645 1.151793 -0.171433 -0.612346 Dropping another level... Updated DataFrame.. Col 1 Col 2 Col 3 one two car valueA 0.425077 0.020606 1.148156 car valueB -0.648708 0.944725 0.593327 car valueC 0.286377 0.478067 -1.000645