Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python - Pandas DataFrame में बहु-स्तरीय कॉलम इंडेक्स से कई स्तर हटाना


बहु-स्तरीय कॉलम इंडेक्स से कई स्तर हटाने के लिए, 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

  1. पायथन - पैंडास DataFrame से एकाधिक कॉलम का चयन कैसे करें पायथन - पैंडास DataFrame से एकाधिक कॉलम का चयन कैसे करें

    मान लीजिए हमारी CSV फ़ाइल की सामग्री Microsoft Excel में निम्नलिखित है:सबसे पहले, CSV फ़ाइल से डेटा पैंडास DataFrame में लोड करें:dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv)एकाधिक कॉलम रिकॉर्ड का चयन करने के लिए वर्गाकार ब्रैकेट का उपयोग करें। ब्रैकेट में कॉलम का उल्लेख करें और

  1. पायथन - पैंडास डेटाफ्रेम से नल पंक्तियों को कैसे हटाएं पायथन - पैंडास डेटाफ्रेम से नल पंक्तियों को कैसे हटाएं

    पैंडास डेटाफ्रेम में नल पंक्तियों को हटाने के लिए, dropna() मेथड का उपयोग करें। मान लीजिए निम्नलिखित हमारी CSV फ़ाइल है जिसमें कुछ NaN यानी नल मान हैं: read_csv() का उपयोग करके CSV फ़ाइल पढ़ें। हमारा CSV डेस्कटॉप पर है: dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\CarRecords.csv) dropna() का

  1. - पायथन पैंडास: DataFrame से पंक्तियाँ/कॉलम हटाएं (drop)

    DataFrame से पंक्तियाँ/कॉलम हटाना DataFrame.drop() विधि लेबल या इंडेक्स के आधार पर पंक्तियाँ या कॉलम हटाती है। 1. पंक्तियाँ हटाना (Rows) import pandas as pd # CSV से पढ़ें (उदाहरण: iris डेटासेट) data = pd.read_csv(iris1.csv, index_col=Id) print(मूल आकार:, data.shape) # (150, 5) # इंडेक्स लेबल 6,