Data Wrangling

Pandas DataFrames में डिफ़ॉल्ट मानों वाली कॉलमों को कुशलतापूर्वक जोड़ना

Spread the love

Pandas DataFrames में नए कॉलम जोड़ना एक मौलिक डेटा मैनिपुलेशन कार्य है। अक्सर, आपको इन नए कॉलम को डिफ़ॉल्ट मान के साथ इनिशियलाइज़ करने की आवश्यकता होगी। यह लेख Pandas में इसे प्राप्त करने के दो कुशल तरीकों का पता लगाता है: pandas.DataFrame.assign() और pandas.DataFrame.insert(), उनके अंतर और सर्वोत्तम उपयोग के मामलों को उजागर करता है।

विषयवस्तु की तालिका

कॉलम जोड़ने के लिए pandas.DataFrame.assign() का उपयोग करना

assign() विधि नए कॉलम जोड़ने का एक स्वच्छ और संक्षिप्त तरीका प्रदान करती है। महत्वपूर्ण रूप से, यह एक नया DataFrame देता है, मूल DataFrame को अपरिवर्तित छोड़ देता है। यह कार्यात्मक दृष्टिकोण अपरिवर्तनीयता को बढ़ावा देता है और अप्रत्याशित संशोधनों को रोकने में मदद करता है।


import pandas as pd

# नमूना DataFrame
data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)
print("मूल DataFrame:n", df)

# डिफ़ॉल्ट मान 0 के साथ एक नया कॉलम 'C' जोड़ें
df_new = df.assign(C=0)
print("n'C' कॉलम जोड़ने के बाद DataFrame:n", df_new)
print("nमूल DataFrame अपरिवर्तित रहता है:n", df)

#एक साथ कई कॉलम जोड़ना
df_new = df.assign(C=0, D='default')
print("nकई कॉलम जोड़ने के बाद DataFrame:n", df_new)

सशर्त डिफ़ॉल्ट मानों के साथ कॉलम जोड़ना

मौजूदा डेटा के आधार पर सशर्त डिफ़ॉल्ट मानों की आवश्यकता वाले अधिक जटिल परिदृश्यों के लिए, assign() को अन्य Pandas सुविधाओं के साथ जोड़ा जा सकता है। यह अधिक नियंत्रण और लचीलापन प्रदान करता है।


import pandas as pd
import numpy as np

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# प्लेसहोल्डर के रूप में NaN के साथ एक नया कॉलम 'C' जोड़ें और फिर सशर्त रूप से मान असाइन करें
df['C'] = np.nan
df.loc[df['A'] > 1, 'C'] = 10
df.loc[df['A'] <= 1, 'C'] = 20

print("n'C' कॉलम जोड़ने और सशर्त रूप से सेट करने के बाद DataFrame:n", df)

कॉलम जोड़ने के लिए pandas.DataFrame.insert() का उपयोग करना

insert() विधि कॉलम प्लेसमेंट पर सटीक नियंत्रण की अनुमति देती है। assign() के विपरीत, यह DataFrame को इन प्लेस संशोधित करता है। इसका मतलब है कि मूल DataFrame सीधे बदल दिया जाता है।


import pandas as pd

data = {'A': [1, 2, 3], 'B': [4, 5, 6]}
df = pd.DataFrame(data)

# डिफ़ॉल्ट मान 0 के साथ स्थिति 1 (सूचकांक 1) पर एक नया कॉलम 'C' जोड़ें
df.insert(1, 'C', 0)
print("n'C' कॉलम सम्मिलित करने के बाद DataFrame:n", df)

चूँकि insert() DataFrame को इन प्लेस संशोधित करता है, यदि आपको मूल DataFrame को संरक्षित करने की आवश्यकता है तो .copy() का उपयोग करके एक प्रतिलिपि बनाना महत्वपूर्ण है।

सही विधि चुनना

assign() और insert() के बीच चुनाव आपकी आवश्यकताओं पर निर्भर करता है। जटिल तर्क से निपटने या कई कॉलम जोड़ते समय, इसके कार्यात्मक, अपरिवर्तनीय स्वभाव के लिए assign() को आम तौर पर प्राथमिकता दी जाती है। insert() तब उपयोगी होता है जब सटीक कॉलम स्थिति महत्वपूर्ण हो और इन-प्लेस संशोधन स्वीकार्य हो। अनपेक्षित परिणामों से बचने के लिए हमेशा इन-प्लेस संशोधन के निहितार्थों पर विचार करें।

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

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