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

पायथन - नेस्टेड डिक्शनरी की सूची को Pandas DataFrame में बदलें

कई बार पायथन को विभिन्न स्रोतों से डेटा प्राप्त होता है जो csv, JSON आदि जैसे विभिन्न फॉर्मेट में हो सकते हैं जिन्हें पायथन सूची या डिक्शनरी में बदला जा सकता है। लेकिन पैकेज जैसे पांडास का उपयोग करके गणना या विश्लेषण लागू करने के लिए, हमें इस डेटा को डेटाफ्रेम में बदलने की आवश्यकता होती है। इस लेख में हम देखेंगे कि हम दी गई पायथन सूची जिसके तत्व नेस्टेड डिक्शनरी हैं, को पांडास DataFrame में कैसे बदल सकते हैं।

हम पहले नेस्टेड डिक्शनरी की सूची लेते हैं और उससे डेटा की पंक्तियां निकालते हैं। फिर हम पंक्तियों को नई सूची में जोड़ने के लिए एक और फॉर लूप बनाते हैं जो मूल रूप से खाली बनाई गई थी। अंत में हम पांडास लाइब्रेरी में DataFrame फ़ंक्शन लागू करके डेटा फ्रेम बनाते हैं।

उदाहरण


import pandas as pd

# दी गई नेस्टेड डिक्शनरी सूची
data_list = [
    {
        "Fruit": [{"Price": 15.2, "Quality": "A"},
                  {"Price": 19, "Quality": "B"},
                  {"Price": 17.8, "Quality": "C"}],
        "Name": "Orange"
    },
    {
        "Fruit": [{"Price": 23.2, "Quality": "A"},
                  {"Price": 28, "Quality": "B"}],
        "Name": "Grapes"
    }
]

rows = []

# डेटा के लिए पंक्तियां प्राप्त करना
for data in data_list:
    data_row = data['Fruit']
    n = data['Name']
    for row in data_row:
        row['Name'] = n
        rows.append(row)

# डेटा फ्रेम में बदलें
df = pd.DataFrame(rows)
print(df)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

   Price Quality     Name
0   15.2       A   Orange
1   19.0       B   Orange
2   17.8       C   Orange
3   23.2       A   Grapes
4   28.0       B   Grapes

pivot लागू करना

हम डेटा को अपनी इच्छानुसार पुनर्व्यवस्थित करने के लिए pivot_table फ़ंक्शन भी लागू कर सकते हैं।

उदाहरण


import pandas as pd

# नेस्टेड डिक्शनरी की सूची इनिशियलाइज़ेशन
data_list = [
    {
        "Fruit": [{"Price": 15.2, "Quality": "A"},
                  {"Price": 19, "Quality": "B"},
                  {"Price": 17.8, "Quality": "C"}],
        "Name": "Orange"
    },
    {
        "Fruit": [{"Price": 23.2, "Quality": "A"},
                  {"Price": 28, "Quality": "B"}],
        "Name": "Grapes"
    }
]

rows = []

# पंक्तियां जोड़ना
for data in data_list:
    data_row = data['Fruit']
    n = data['Name']
    for row in data_row:
        row['Name'] = n
        rows.append(row)

# डेटा फ्रेम का उपयोग करके
df = pd.DataFrame(rows)
df = df.pivot_table(index='Name', columns=['Quality'],
                    values=['Price']).reset_index()
print(df)

उपरोक्त कोड चलाने से हमें निम्न परिणाम मिलता है:

आउटपुट

     Name  Price
Quality       A     B     C
0   Grapes  23.2  28.0   NaN
1   Orange  15.2  19.0  17.8

मुख्य चरण सारांश:

  1. नेस्टेड संरचना को फ्लैट करें (प्रत्येक सब-आइटम के लिए पेरेंट कुंजी जोड़ें)
  2. pd.DataFrame() से DataFrame बनाएं
  3. वैकल्पिक: pivot_table() से पुनर्व्यवस्थित करें
  1. - Python में डिक्शनरी को टपल्स की सूची में बदलें

    Python में एक संग्रह प्रकार से दूसरे में बदलना बहुत आम है। डेटा प्रोसेसिंग आवश्यकताओं के आधार पर हमें डिक्शनरी में मौजूद की-वैल्यू पेयर को टपल्स की सूची में जोड़े के रूप में बदलना पड़ सकता है। इस लेख में हम इसे प्राप्त करने के दृष्टिकोण देखेंगे।in के साथयह एक सीधा दृष्टिकोण है जहां हम केवल विचार करत

  1. - पायथन प्रोग्राम: टपल्स की लिस्ट को डिक्शनरी में कन्वर्ट करना

    यहां एक टपल दी गई है, हमारा कार्य टपल्स को डिक्शनरी में कन्वर्ट करना है। इस समस्या को हल करने के लिए हम डिक्शनरी मेथड setdefault() का उपयोग करते हैं। इस मेथड के दो पैरामीटर्स हैं, पहले पैरामीटर को की और दूसरे को डिक्शनरी की वैल्यू में कन्वर्ट करने के लिए। Setdefault(key, value) एक फंक्शन है जो की को

  1. - Python Dictionary को List में कैसे बदलें?

    Python Dictionary को List में बदलना Python की डिक्शनरी क्लास में इस उद्देश्य के लिए तीन मेथड्स हैं। items(), keys() और values() मेथड्स क्रमशः की-वैल्यू पेयर्स के टपल, केवल कुंजियाँ और केवल मान समाहित करने वाले व्यू ऑब्जेक्ट्स लौटाते हैं। बिल्ट-इन list मेथड इन व्यू ऑब्जेक्ट्स को सूची ऑब्जेक्ट्स में