কম্পিউটার

পাইথন - নেস্টেড অভিধানের তালিকাকে পান্ডাস ডেটাফ্রেমে রূপান্তর করুন


অনেক সময় পাইথন বিভিন্ন উত্স থেকে ডেটা গ্রহণ করবে যা বিভিন্ন ফর্ম্যাটে যেমন csv, JSON ইত্যাদি হতে পারে যা পাইথন তালিকা বা অভিধান ইত্যাদিতে রূপান্তরিত হতে পারে৷ কিন্তু পান্ডাগুলির মতো প্যাকেজগুলি ব্যবহার করে গণনা বা বিশ্লেষণ প্রয়োগ করতে, আমাদের এই ডেটাকে রূপান্তর করতে হবে একটি ডেটাফ্রেম। এই নিবন্ধে আমরা দেখব কিভাবে আমরা একটি প্রদত্ত পাইথন তালিকাকে রূপান্তর করতে পারি যার উপাদানগুলি একটি নেস্টেড অভিধান, একটি পান্ডাস ডাটফ্রেমে৷

আমরা প্রথমে নেস্টেড অভিধানের তালিকা নিই এবং এটি থেকে ডেটার সারিগুলি বের করি। তারপর আমরা নতুন তালিকায় সারি যুক্ত করার জন্য আরেকটি লুপ তৈরি করি যা মূলত খালি তৈরি করা হয়েছিল। অবশেষে আমরা ডাটা ফ্রেম তৈরি করতে পান্ডাস লাইব্রেরিতে DataFrames ফাংশন প্রয়োগ করি।

উদাহরণ

import pandas as pd

# Given nested dictionary
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 = []

# Getting rows
for data in list:
   data_row = data['Fruit']
   n = data['Name']

   for row in data_row:
      row['Name'] = n
      rows.append(row)

# Convert to data frame
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_table ফাংশন প্রয়োগ করতে পারি।

উদাহরণ

import pandas as pd

# List of nested dictionary initialization
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"
   }
]

#print(list)
rows = []

# appending rows
for data in list:
   data_row = data['Fruit']
   n = data['Name']

   for row in data_row:
      row['Name'] = n
      rows.append(row)

   # using data frame
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. পাইথনের টিপলের তালিকায় অভিধান রূপান্তর করুন

  3. পাইথন প্রোগ্রাম টিপলের একটি তালিকাকে অভিধানে রূপান্তর করতে

  4. পাইথন অভিধানকে কীভাবে একটি তালিকায় রূপান্তর করবেন?