.loc
के उपयोग यहाँ की सिफारिश की है क्योंकि तरीकों df.Age.isnull()
, df.Gender == i
और df.Pclass == j+1
डेटा फ्रेम के स्लाइस के एक दृश्य वापस आ सकते हैं या एक प्रति वापस आ सकते हैं। यह पांडा को भ्रमित कर सकता है।
यदि आप .loc
का उपयोग नहीं करते हैं तो आप श्रृंखला में सभी 3 स्थितियों को कॉल करते हैं जो आपको चेन इंडेक्सिंग नामक समस्या का कारण बनता है। जब आप .loc
का उपयोग करते हैं, तो आप एक ही चरण में अपनी सभी स्थितियों तक पहुंचते हैं और पांडा अब भ्रमित नहीं होते हैं।
.loc
का उपयोग न करने के कुछ उदाहरणों के साथ आप इसके बारे में अधिक पढ़ सकते हैं pandas documentation में ऑपरेशन विफल हो जाएगा।
सरल जवाब है कि जब तुम अक्सर .loc
का उपयोग कर और केवल (उदाहरण के लिए)
df['Age_fill'][(df.Age.isnull()) & (df.Gender == i) & (df.Pclass == j+1)] \
= median_ages[i,j]
टाइपिंग नहीं के साथ भाग प्राप्त कर सकते हैं तो आप हमेशा SettingWithCopy
चेतावनी प्राप्त होगा और आपका कोड के लिए एक छोटे से मेसियर हो जाएगा यह।
मेरे अनुभव में .loc
ने मुझे अपना सिर पाने के लिए कुछ समय लगाया है और यह मेरे कोड को अपडेट करने में थोड़ा परेशान रहा है। लेकिन यह वास्तव में बहुत ही सरल और बहुत सहज है: df.loc[row_index,col_indexer]
।
अधिक जानकारी के लिए Indexing and Selecting Data पर पांडा दस्तावेज़ देखें।
आपके उदाहरण में, '.loc' मुख्य रूप से उपयोग किया जाता है क्योंकि आप कॉलम अनुक्रमणिका' आयुफिल' के माध्यम से किसी सेल तक पहुंचने का प्रयास करते हैं। –