2017-05-10 15 views
5

pandas पुस्तकालय में कई बार इस तरह के निम्न कथन से के रूप में वस्तु inplace बदलने के लिए एक विकल्प है में ...अजगर पांडा - समझना inplace = सच

df.dropna(axis='index', how='all', inplace=True) 

मैं उत्सुक क्या रूप में अच्छी तरह वापस लौटाए जा रहा है inplace=Trueinplace=False पर बनाम ऑब्जेक्ट को संभाला जाता है।

क्या सभी ऑपरेशन self संशोधित कर रहे हैं जब inplace=True? और जब inplace=False एक नई ऑब्जेक्ट है जिसे तत्काल बनाया गया है जैसे new_df = self और फिर new_df वापस कर दिया गया है?

+3

हां, 'इनस्थल = ट्रू' रिटर्न 'कोई नहीं' 'जगह = गलत 'ऑब्जेक्ट की एक प्रतिलिपि ऑपरेशन के साथ देता है। दस्तावेज़ इस पर बहुत स्पष्ट हैं, क्या ऐसा कुछ है जो किसी विशिष्ट भाग से भ्रमित हो रहा है? स्पष्ट रूप से 'यदि सही है, तो ऑपरेशन करें और कोई भी वापस न करें। – EdChum

+1

सही ढंग से कहा गया .. – Aditya

+0

मैं डेटाफ्रेम ऑब्जेक्ट को उप-वर्गीकृत कर रहा हूं और एक ऑपरेशन के साथ जैसे विलय करना इसे जगह में करना संभव नहीं लगता है ... 'self = self.merge (new_df, how = 'left', = 'column2'' मुझे यकीन नहीं है कि स्वयं –

उत्तर

8
  • जब inplace=True पारित हो जाता है, डेटा जगह में बदल दिया गया है (यह कुछ भी नहीं देता है)
  • जब inlace=False पारित हो जाता है (यह डिफ़ॉल्ट मान है, तो आवश्यक नहीं है), संचालन करता है और एक प्रति रिटर्न वस्तु की
1

रास्ता मैं इसका उपयोग

# Have to assign back to dataframe as it is a copy 
df = df.some_operation(inplace=False) 

या

# No need to assign back to dataframe 
df.some_operation(inplace=True) 
संबंधित मुद्दे