2012-11-16 21 views
10

द्वारा कॉपी किया गया मैंने अपने कार्यक्रम में एक बग देखा और ऐसा होने का कारण यह है क्योंकि ऐसा लगता है कि पांडा संदर्भ के बजाय एक पांडा डेटाफ्रेम संदर्भ के द्वारा प्रतिलिपि बना रहा है। मुझे पता है कि अपरिवर्तनीय वस्तुएं हमेशा संदर्भ द्वारा पारित की जाएंगी लेकिन पांडा डेटाफ्रेम अपरिवर्तनीय नहीं है इसलिए मुझे नहीं पता कि यह संदर्भ द्वारा क्यों गुज़र रहा है। क्या कोई कुछ जानकारी प्रदान कर सकता है?पांडा डेटाफ्रेम, मूल्य

धन्यवाद! एंड्रयू

उत्तर

28

पायथन में सभी फ़ंक्शन "संदर्भ द्वारा पास" हैं, "मूल्य से गुजरना" नहीं है। यदि आप पांडा ऑब्जेक्ट की एक स्पष्ट प्रतिलिपि बनाना चाहते हैं, तो new_frame = frame.copy() आज़माएं।

+1

ध्यान दें कि इसमें 'frame.index' संस्करण 0.12 के रूप में शामिल नहीं है। हालांकि, 0.13 के लिए एक फिक्स प्रतीत होता है (जैसा कि [इस संबंधित प्रश्न में उल्लिखित है] (http://stackoverflow.com/q/17591104/2375855): गितहब पांडस [अंक 4202] (http: // github। com/pydata/पांडा/मुद्दों/4202)) – ojdo

संबंधित मुद्दे