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

पायथन - पैंडास डेटाफ्रेम में मल्टी-लेवल कॉलम इंडेक्स से एक लेवल हटाएं


परिचय

पैंडास डेटाफ्रेम में मल्टी-लेवल कॉलम इंडेक्स से एक लेवल हटाने के लिए columns.droplevel() मेथड का उपयोग किया जाता है। हमने कॉलम-वाइज इंडेक्स बनाने के लिए MultiIndex.from_tuples() का उपयोग किया है।

चरण-दर-चरण कार्यान्वयन

1. कॉलम-वाइज इंडेक्स बनाएं

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")
])

2. मल्टीइंडेक्स ऐरे बनाएं और डेटाफ्रेम तैयार करें

import numpy as np
arr = [
    np.array(['car', 'car', 'car', 'bike', 'bike', 'bike', 'truck', 'truck', 'truck']),
    np.array(['valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC'])
]
dataFrame = pd.DataFrame(np.random.randn(9, 3), index=arr, columns=items)

3. इंडेक्स को लेबल करें

dataFrame.index.names = ['level 0', 'level 1']

4. इंडेक्स 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")
])

arr = [
    np.array(['car', 'car', 'car', 'bike', 'bike', 'bike', 'truck', 'truck', 'truck']),
    np.array(['valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC', 'valueA', 'valueB', 'valueC'])
]

dataFrame = pd.DataFrame(np.random.randn(9, 3), index=arr, columns=items)
dataFrame.index.names = ['level 0', 'level 1']

print("DataFrame...\n", dataFrame)
print("\nDropping a 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
level 0 level 1
car     valueA    1.691127    0.315145   -0.695925    -2.077182   -2.027643   -0.523965     1.021402   -0.384421    0.640215
        valueB   -2.271217    0.197185    0.304847     0.119615   -0.520491   -0.746547     1.856888   -0.491540   -1.754604
        valueC    0.829854   -0.204102   -1.130511     0.310692    0.119087   -0.244919    -0.245934   -2.141639   -1.298278
bike    valueA   -2.271217    0.197185    0.304847     0.119615   -0.520491   -0.746547     1.856888   -0.491540   -1.754604
        valueB    0.119615   -0.520491   -0.746547     1.856888   -0.491540   -1.754604    -0.245934   -2.141639   -1.298278
        valueC    1.856888   -0.491540   -1.754604    -0.245934   -2.141639   -1.298278     0.829854   -0.204102   -1.130511
truck   valueA    0.829854   -0.204102   -1.130511     0.310692    0.119087   -0.244919    -0.245934   -2.141639   -1.298278
        valueB    0.310692    0.119087   -0.244919    -0.245934   -2.141639   -1.298278     0.829854   -0.204102   -1.130511
        valueC   -0.245934   -2.141639   -1.298278     0.829854   -0.204102   -1.130511     0.310692    0.119087   -0.244919

Dropping a level...
Updated DataFrame..
                    Col 1        Col 2        Col 3        Col 1        Col 2        Col 3
level 0 level 1
car     valueA    1.691127    0.315145   -0.695925    -2.077182   -2.027643   -0.523965
        valueB    1.021402   -0.384421    0.640215    -2.271217    0.197185    0.304847
        valueC    0.119615   -0.520491   -0.746547     1.856888   -0.491540   -1.754604
bike    valueA    0.829854   -0.204102   -1.130511     0.310692    0.119087   -0.244919
        valueB   -0.245934   -2.141639   -1.298278     0.829854   -0.204102   -1.130511
        valueC    0.310692    0.119087   -0.244919    -0.245934   -2.141639   -1.298278
truck   valueA    0.829854   -0.204102   -1.130511     0.310692    0.119087   -0.244919
        valueB   -0.245934   -2.141639   -1.298278     0.829854   -0.204102   -1.130511
        valueC    0.310692    0.119087   -0.244919    -0.245934   -2.141639   -1.298278
  1. - पायथन पैंडास - पाइपलाइन बनाएं और डेटाफ्रेम से कॉलम हटाएं

    पैंडास डेटाफ्रेम से कॉलम हटाने के लिए pdpipe लाइब्रेरी के colDrop() मेथड का उपयोग करें। पहले आवश्यक pdpipe और पैंडास लाइब्रेरी को उनके संबंधित उपनामों के साथ आयात करें: import pdpipe as pdp import pandas as pd एक डेटाफ्रेम बनाएं। यहां हमारे पास दो कॉलम हैं: dataFrame = pd.DataFrame( { C

  1. - पायथन पैंडास - डेटाफ्रेम से मल्टीइंडेक्स बनाएं

    डेटाफ्रेम से मल्टीइंडेक्स बनाने के लिए, MultiIndex.from_frame() मेथड का उपयोग करें। पहले, सूचियों का एक डिक्शनरी बनाएं: d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-22]} अब, उपरोक्त सूचियों के डि

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

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