मैं पांडा के लिए नया हूँ और एक बहुत ही बुनियादी सवाल है, कृपया!
अजगर v3.6 पर स्पाइडर के माध्यम से:
x= pd.DataFrame(columns = ['1','2'])
print(x)
x['1'] = '25'
print(x)
प्रिंट स्टेटमेंट से, डेटाफ़्रेम x बदलता नहीं दिखता है। मेरा प्रश्न: x['1'] = '25'
क्या करता है, यदि कुछ भी हो?
1 उत्तर
वास्तव में स्केलर और पुनरावृत्तियों को निर्दिष्ट करने के शब्दार्थ के बीच एक अंतर है (सोचें कंटेनर जैसे सूची जैसी वस्तुओं के रूप में सूचियां)।
विचार करना,
df = pd.DataFrame(columns=['1', '2'])
df
Empty DataFrame
Columns: [1, 2]
Index: []
आपने एक खाली डेटाफ़्रेम को बिना किसी अनुक्रमणिका (कोई पंक्तियाँ नहीं) के परिभाषित किया है, लेकिन स्तंभों के लिए केवल एक स्कीमा निर्धारित किया है।
जब आप किसी कॉलम को स्केलर असाइन करते हैं, तो असाइनमेंट को सभी पंक्तियों में प्रसारित किया जाता है। इस मामले में, चूंकि कोई नहीं हैं, कुछ भी नहीं होता है:
df['1'] = 123
df
Empty DataFrame
Columns: [1, 2]
Index: []
हालाँकि, एक सूची की तरह चलने योग्य असाइन करना एक अलग कहानी है, क्योंकि पांडा इसके लिए नई पंक्तियाँ बनाएंगे:
df['1'] = [123]
df
1 2
0 123 NaN
अब, यह समझने के लिए कि स्केलर असाइनमेंट कैसे काम करता है, एक समान खाली डेटाफ़्रेम पर विचार करें, लेकिन एक परिभाषित इंडेक्स के साथ:
df = pd.DataFrame(columns=['1', '2'], index=[0, 1])
df
1 2
0 NaN NaN
1 NaN NaN
यह अभी भी "खाली" है (वास्तव में नहीं), लेकिन अब हम स्केलर असाइन कर सकते हैं और असाइनमेंट प्रसारित किया जाता है,
df['1'] = 123
df
1 2
0 123 NaN
1 123 NaN
इस व्यवहार की तुलना पहले दिखाए गए व्यवहार से करें।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।