2017-03-23 8 views
6

मैं दो डेटाफ्रेम को संगत करने की कोशिश कर रहा हूं और 'TypeError: cannot concatenate a non-NDFrame object' त्रुटि प्राप्त कर रहा हूं। मैं चारों ओर देख रहा हूं, बहुत से लोग इस त्रुटि को प्राप्त कर रहे हैं, ज्यादातर समय जब वे अपने कोड के मुकाबले कुछ और करने की कोशिश करते हैं, (इसलिए उत्तर उनके विशेष लेकिन असंबंधित प्रश्नों को हल करते हैं)पांडा: एनडीफ़्रेम ऑब्जेक्ट (और गैर-एनडीफ़्रेम ऑब्जेक्ट क्या है)

मेरा प्रश्न मेरी विशेष समस्या को हल नहीं करना है, लेकिन त्रुटि को समझने के लिए ... गैर-एनडीफ़्रेम ऑब्जेक्ट क्या है? इसे समेकित क्यों नहीं किया जा सकता है?

इसके अलावा, क्यों NDFrames के बारे में यह है (वो क्या कर रहे हैं, और मैं उन्हें इस्तेमाल करते हैं कहाँ? सब DataFrames NDFrames हैं? क्या कोई NDFrames कि DataFrames नहीं हैं? हैं) ...

मैं अगर यह समझना होगा कहा 'TypeError: cannot concatenate a non-DataFrame object' (हालांकि मुझे यकीन है कि अगर उन्हें DataFrames नहीं किया जा रहा मेरी त्रुटि का कारण था नहीं कर रहा हूँ) यह मुख्य रूप से मेरी जिज्ञासा questing, मैं किसी भी विशिष्ट बग शिकार करने के लिए कोशिश कर रहा है नहीं कर रहा हूँ है ...

+3

इसका शायद मतलब है कि आप 'सीरीज़' के समूह को जोड़ना चाहते हैं, एनडीफ़्रेम का मतलब एन-आयामी है, इसलिए कम से कम 2-डी श्रृंखला 1-डी है, यहां मुद्दा यह है कि आप एकसाथ प्रयास कर रहे हैं और इंडेक्स और कॉलम नामों पर संरेखित करें। एक श्रृंखला में एक इंडेक्स होता है लेकिन कोई कॉलम नाम नहीं होता है (वहां एक नाम विशेषता है लेकिन यह वही नहीं है), इसे काम करने के लिए बनाया जा सकता है लेकिन कार्यान्वयन इस – EdChum

+2

का समर्थन नहीं करता है या आप किसी ऐसे व्यक्ति को पास कर रहे हैं जिसका प्रकार एनडी नहीं है -फ्रेम, उदाहरण के लिए एक numpy सरणी, वास्तव में पांडा श्रृंखला की एक सूची को जोड़ना काम करेगा। आपको – EdChum

+0

* मुझे शर्मिंदा करने का प्रयास करने के लिए कच्चे डेटा और कोड को पोस्ट करने की आवश्यकता होगी * मुझे कोड शापित किया गया है और अब मेरी त्रुटि को पुन: पेश नहीं कर पा रहा है, इसलिए यह आपके द्वारा लिखे गए भी हो सकता है ... मेरा प्रश्न यद्यपि है मेरी त्रुटि के बारे में नहीं, बल्कि एनडीफ़्रेम ऑब्जेक्ट क्या है ... इसके बारे में कोई सवाल नहीं है, स्टैक ओवरफ्लो में। ऐसा लगता है कि डेटाफ्रेम एक एनडीफ़्रेम (?) गुगलिंग है, मुझे लगता है कि "pandas.core.generic.NDFrame डेटाफ्रेम का एक एन-आयामी एनालॉग है जो आकार-परिवर्तनीय, लेबल डेटा संरचना में बहु-आयामी स्टोर करता है", लेकिन इसके बारे में और अधिक स्पष्ट व्याख्या करना होगा कि यह क्या करता है, यह क्या नहीं है, और डेटाफ्रेम के साथ इसका संबंध है ... – ntg

उत्तर

9

From the horse's mouth:

डेटाफ्रेम का एन-आयामी एनालॉग। एक आकार-परिवर्तनशील, लेबल डेटा संरचना में स्टोर बहुआयामी

Then what's a DataFrame?

वर्ग DataFrame (NDFrame): लेबल कुल्हाड़ियों साथ दो आयामी आकार-परिवर्तनशील, संभावित विषम तालिका डेटा संरचना (पंक्तियाँ और स्तंभ)। अंकगणितीय परिचालन पंक्ति और कॉलम लेबल दोनों पर संरेखित करें। श्रृंखला वस्तुओं के लिए एक dict-like कंटेनर के रूप में सोचा जा सकता है।

जैसा कि आप देख सकते हैं, डेटाफ्रेम एनडीफ़्रेम का उप-वर्ग (यानी विशेष मामला) है। आमतौर पर पांडस कार्यक्रमों में, डेटाफ्रेम का बहुत उपयोग किया जाता है और एनडीफ़्रेम का शायद ही कभी उपयोग किया जाता है। वास्तव में, पांडों के पास 1 डी के लिए श्रृंखला है, डेटाफ्रेम 2 डी के लिए है, और अधिकांश लोगों के लिए यह अंत है, भले ही पांडों का आधा हिस्सा Panel है, जो Pandas also has है, लेकिन अधिकांश लोग इसका उपयोग नहीं करते हैं।

पांडों में भी 4 डी चीज है/लेकिन वास्तव में कोई भी इसका उपयोग नहीं करता है (यह इंटरनेट है, अब कोई ऐसा कहने लगेगा कि वे ऐसा करते हैं!)। दो या तीन से अधिक आयामों के लिए, कुछ लोगों ने अपने प्रयासों को xarray पर स्थानांतरित कर दिया है। शायद यह कहां है कि आपकी महत्वाकांक्षाओं को 2 डी में शामिल नहीं किया जा सकता है।

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