Data Wrangling

पांडा डेटाफ्रेम को कुशलतापूर्वक NumPy सरणियों में बदलना

Spread the love

Pandas और NumPy, पायथन डेटा साइंस इकोसिस्टम के आधार हैं। Pandas अपने DataFrame संरचना के साथ डेटा हेरफेर में उत्कृष्टता प्राप्त करता है, जबकि NumPy अपनी सरणियों के साथ कुशल संख्यात्मक गणना में चमकता है। अक्सर, आपको इन लाइब्रेरी के बीच सहज रूप से संक्रमण करने की आवश्यकता होती है, आगे के विश्लेषण या प्रसंस्करण के लिए Pandas DataFrame को NumPy सरणी में परिवर्तित करना। यह लेख इस रूपांतरण के लिए सबसे प्रभावी तरीकों का विवरण देता है।

विषयसूची

to_numpy() विधि: अनुशंसित दृष्टिकोण

to_numpy() विधि Pandas DataFrame को NumPy सरणी में बदलने का सबसे सरल और कुशल तरीका है। यह सीधे DataFrame के मानों को NumPy सरणी में बदल देता है, डेटा प्रकार निर्दिष्ट करने में लचीलापन प्रदान करता है।


import pandas as pd
import numpy as np

# नमूना DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6], 'col3': [7.1, 8.2, 9.3]}
df = pd.DataFrame(data)

# NumPy सरणी में रूपांतरण
numpy_array = df.to_numpy()
print("डिफ़ॉल्ट dtype:n", numpy_array)

# dtype निर्दिष्ट करना
numpy_array_float = df.to_numpy(dtype=np.float64)
print("nFloat64 dtype:n", numpy_array_float)

numpy_array_int = df.to_numpy(dtype=np.int32)
print("nInt32 dtype (फ़्लोट्स को काटता है):n", numpy_array_int)

देखें कि कैसे dtype निर्दिष्ट करने से आउटपुट सरणी के प्रकार पर सटीक नियंत्रण की अनुमति मिलती है। यदि छोड़ा जाता है, तो to_numpy() DataFrame के डेटा से सबसे उपयुक्त प्रकार को समझदारी से अनुमान लगाता है।

.values विशेषता: एक पुरानी विधि

.values विशेषता DataFrame के डेटा का एक NumPy सरणी प्रतिनिधित्व भी प्रदान करती है। जबकि to_numpy() के समान कार्य करती है, इसे एक पुरानी विधि माना जाता है। इसकी स्पष्टता और स्पष्ट प्रकृति के लिए to_numpy() को प्राथमिकता दी जाती है।


import pandas as pd
import numpy as np

# नमूना DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# .values का उपयोग करके रूपांतरण
numpy_array = df.values
print(numpy_array)

आउटपुट to_numpy() के उपयोग के समान है, लेकिन to_numpy() अधिक आधुनिक और अनुशंसित अभ्यास है।

to_records() विधि: संरचित सरणियाँ बनाना

जब आपको नामित फ़ील्ड (एक संरचित सरणी के समान) वाली NumPy सरणी की आवश्यकता होती है, तो to_records() विधि का उपयोग करें। यह DataFrame को एक NumPy रिकॉर्ड सरणी में बदल देता है जहाँ प्रत्येक कॉलम एक नामित फ़ील्ड बन जाता है।


import pandas as pd
import numpy as np

# नमूना DataFrame
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data)

# NumPy रिकॉर्ड सरणी में रूपांतरण
numpy_record_array = df.to_records()

print(numpy_record_array)
print("nरिकॉर्ड सरणी का डेटा प्रकार:")
print(numpy_record_array.dtype)

रिकॉर्ड सरणी में इंडेक्स को शामिल करने पर ध्यान दें। यह विधि विशेष रूप से मूल्यवान है जब बाद के विश्लेषण के लिए NumPy सरणी संरचना के भीतर कॉलम नामों को संरक्षित करना महत्वपूर्ण होता है।

निष्कर्ष में, सामान्य DataFrame-से-NumPy सरणी रूपांतरण के लिए to_numpy() अनुशंसित विधि है। .values एक कार्यात्मक रूप से समकक्ष विकल्प प्रदान करता है, जबकि to_records() संरचित सरणियों के लिए सबसे उपयुक्त है जिन्हें नामित फ़ील्ड की आवश्यकता होती है। इष्टतम विकल्प विशिष्ट आवश्यकताओं और परिणामी NumPy सरणी की वांछित संरचना पर निर्भर करता है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *