पांडा डेटाफ्रेम पायथन में डेटा मैनिपुलेशन का एक आधारशिला है। अक्सर, आपको अपने डेटाफ्रेम के भीतर अलग-अलग सेल्स को संशोधित करने की आवश्यकता होगी। यह लेख डेटाफ्रेम के इंडेक्स का उपयोग करके इसे प्राप्त करने के तीन कुशल तरीकों का पता लगाता है।
विषयवस्तु की तालिका
.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
को प्राथमिकता दें।