Data Science

पांडास डेटाफ्रेम कोशिकाओं को सूचकांकों का उपयोग करके कुशलतापूर्वक संशोधित करना

Spread the love

पांडा डेटाफ्रेम पायथन में डेटा मैनिपुलेशन का एक आधारशिला है। अक्सर, आपको अपने डेटाफ्रेम के भीतर अलग-अलग सेल्स को संशोधित करने की आवश्यकता होगी। यह लेख डेटाफ्रेम के इंडेक्स का उपयोग करके इसे प्राप्त करने के तीन कुशल तरीकों का पता लगाता है।

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

  1. .at के साथ सेल मान सेट करना
  2. .loc के साथ सेल मान सेट करना
  3. अप्रचलित .set_value() विधि

.at के साथ सेल मान सेट करना

.at एक्सेसर डेटाफ्रेम में एकल सेल तक पहुँचने और उसे संशोधित करने का एक अत्यधिक कुशल तरीका प्रदान करता है, जिसका उपयोग इसकी पंक्ति और स्तंभ लेबल से किया जाता है। इसकी गति इसे एकल-मान असाइनमेंट के लिए आदर्श बनाती है।


import pandas as pd

# नमूना डेटाफ्रेम
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data, index=['A', 'B', 'C'])

# पंक्ति 'B' और स्तंभ 'col1' पर सेल का मान 10 पर सेट करें
df.at['B', 'col1'] = 10

print(df)

यह आउटपुट करेगा:


   col1  col2
A     1     4
B    10     5
C     3     6

जब एकल कोशिकाओं से निपटते हैं, तो .at गति और सरलता के लिए अनुकूलित है। हालाँकि, एकाधिक मान असाइन करने का प्रयास करने पर TypeError होगा।

.loc के साथ सेल मान सेट करना

.loc एक्सेसर अधिक लचीलापन प्रदान करता है। यह पंक्तियों और स्तंभों के लिए लेबल-आधारित अनुक्रमण की अनुमति देता है और एकल मानों या सरणियों के एक साथ कई कोशिकाओं को असाइनमेंट को संभाल सकता है।


import pandas as pd

# नमूना डेटाफ्रेम
data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.DataFrame(data, index=['A', 'B', 'C'])

# पंक्ति 'A' और स्तंभ 'col2' पर सेल का मान 100 पर सेट करें
df.loc['A', 'col2'] = 100

print(df)

# एकाधिक मान सेट करना
df.loc[['A', 'B'], 'col1'] = [5, 15]  # A को 5 और B को 15 असाइन करता है
print(df)

यह पहले आउटपुट करेगा:


   col1  col2
A     1   100
B     2     5
C     3     6

और फिर:


   col1  col2
A     5   100
B    15     5
C     3     6

.loc सबसे बहुमुखी विधि है, जो एकल-सेल अपडेट और कई पंक्तियों और स्तंभों को शामिल करने वाले अधिक जटिल परिदृश्यों दोनों के लिए उपयुक्त है। बहुमुखी होने के बावजूद, एकल-सेल परिवर्तनों के लिए, .at आम तौर पर तेज होता है।

अप्रचलित .set_value() विधि

नए पांडा संस्करणों में .set_value() विधि अप्रचलित है। हालांकि यह पुराने संस्करणों में अभी भी काम कर सकता है, बेहतर संगतता और प्रदर्शन के लिए .at या .loc का उपयोग करने की दृढ़ता से अनुशंसा की जाती है। नए कोड में .set_value() का उपयोग करने से बचें।

संक्षेप में, .at और .loc दोनों पांडा डेटाफ्रेम में अलग-अलग कोशिकाओं को संशोधित करने के प्रभावी तरीके प्रदान करते हैं। एकल मानों के साथ इसकी गति और सरलता के लिए .at को प्राथमिकता दें, और कई कोशिकाओं या अधिक जटिल संशोधनों के साथ काम करते समय इसके लचीलेपन के लिए .loc को प्राथमिकता दें।

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

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