पांडास डेटा हेरफेर और विश्लेषण के लिए एक शक्तिशाली पायथन लाइब्रेरी है। अक्सर, आपको आसान विश्लेषण के लिए पायथन डिक्शनरी में संग्रहीत डेटा को पांडास डेटाफ्रेम में बदलने की आवश्यकता होगी। यह लेख इस रूपांतरण को कुशलतापूर्वक करने के कई तरीकों का पता लगाता है, स्पष्टता और विभिन्न डिक्शनरी संरचनाओं को संभालने पर ध्यान केंद्रित करता है।
विषयसूची
pandas.DataFrame()
का सीधे उपयोग करनाpandas.DataFrame.from_dict()
का उपयोग करना- अनियमित डिक्शनरी संरचनाओं का समाधान करना
1. pandas.DataFrame()
का सीधे उपयोग करना
सबसे सरल तरीके में आपकी डिक्शनरी को सीधे pandas.DataFrame()
कंस्ट्रक्टर में पास करना शामिल है। हालाँकि, परिणाम आपकी डिक्शनरी की संरचना पर काफी निर्भर करता है।
परिदृश्य 1: मानों के रूप में सूचियों/सरणियों वाली डिक्शनरी
यह सबसे सरल मामला है। प्रत्येक कुंजी एक कॉलम नाम बन जाती है, और उसकी संगत सूची या सरणी कॉलम का डेटा बनाती है।
import pandas as pd
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)
आउटपुट:
col1 col2 col3
0 1 4 7
1 2 5 8
2 3 6 9
परिदृश्य 2: डिक्शनरी ऑफ़ डिक्शनरी या डिक्शनरी की सूचियाँ
नेस्टेड डिक्शनरी या डिक्शनरी की सूचियों के लिए, व्यवहार बदल जाता है। पांडास संरचना की व्याख्या अलग तरह से करता है, अक्सर वांछित परिणाम उत्पन्न करता है यदि आंतरिक डिक्शनरी संगत हैं।
data = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df = pd.DataFrame(data)
print(df)
यह परिदृश्य 1 के समान आउटपुट देता है। हालाँकि, असंगतियाँ (लापता कुंजियाँ) समस्याएँ पैदा कर सकती हैं। विश्वसनीय परिणामों के लिए संगत डेटा संरचना सुनिश्चित करें।
2. pandas.DataFrame.from_dict()
का उपयोग करना
from_dict()
विधि orient
पैरामीटर के माध्यम से अधिक नियंत्रण प्रदान करती है, यह निर्दिष्ट करती है कि डिक्शनरी की व्याख्या कैसे की जानी चाहिए:
'columns'
: ऊपर परिदृश्य 1 के समान।'index'
: कुंजियाँ सूचकांक बन जाती हैं, मान एकल कॉलम बनाते हैं।'rows'
: एक सूची में प्रत्येक डिक्शनरी एक पंक्ति का प्रतिनिधित्व करती है।
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7, 8, 9]}
df = pd.DataFrame.from_dict(data, orient='columns')
print(df)
data2 = {'col1': 10, 'col2': 20, 'col3': 30}
df2 = pd.DataFrame.from_dict(data2, orient='index', columns=['Value'])
print(df2)
data3 = [{'col1': 1, 'col2': 4, 'col3': 7}, {'col1': 2, 'col2': 5, 'col3': 8}, {'col1': 3, 'col2': 6, 'col3': 9}]
df3 = pd.DataFrame.from_dict(data3, orient='rows')
print(df3)
3. अनियमित डिक्शनरी संरचनाओं का समाधान करना
असंगत कुंजियों या मानों वाली डिक्शनरी के लिए, पूर्व-प्रसंस्करण महत्वपूर्ण है। निम्नलिखित तकनीकों पर विचार करें:
- लापता मानों को भरना: डिफ़ॉल्ट (जैसे, 0 या NaN) के साथ लापता मानों को बदलने के लिए
fillna()
का उपयोग करें। - डेटा सफाई: डेटा प्रकारों को मानकीकृत करें और रूपांतरण से पहले असंगतियों को संभालें।
- डेटा परिवर्तन: अपनी डिक्शनरी को डेटाफ्रेम निर्माण के लिए उपयुक्त अधिक नियमित प्रारूप में पुनर्गठित करें।
अपनी डिक्शनरी की संरचना पर सावधानीपूर्वक विचार करके और उपयुक्त पांडास विधि का उपयोग करके, आप विश्लेषण के लिए विश्वसनीय और कुशलतापूर्वक डेटाफ्रेम बना सकते हैं।