2016-08-03 3 views
9

मैंने इन दो विधियों को समझ लिया। क्या कोई बेहतर है?पांडस डेटाफ्रेम में सभी मानों को समेटने का सबसे अच्छा तरीका क्या है?

>>> import pandas as pd 
>>> df = pd.DataFrame({'A': [5, 6, 7], 'B': [7, 8, 9]}) 
>>> print df.sum().sum() 
42 
>>> print df.values.sum() 
42 

बस यह सुनिश्चित करना चाहते हैं कि मैं कुछ और स्पष्ट नहीं कर रहा हूं।

उत्तर

14
df.values 

अंतर्निहित numpy सरणी है

df.values.sum() 

numpy योग विधि है और यह अधिक तेज़

+0

धन्यवाद। बिल्कुल यही मैने सोचा! – Bill

+0

क्या यह तेजी से तेज़ है क्योंकि एक फ़ंक्शन दूसरे को कॉल करता है या क्या कुछ और मौलिक अंतर होता है? – kuanb

+2

@ कुआंब दो कारण। एक, 'df.values.sum() 'एक' numpy' ऑपरेशन है और अधिकांश समय, 'numpy' अधिक प्रदर्शनकारी है। दो, 'numpy' आयाम की परवाह किए बिना एक सरणी में सभी तत्वों पर रकम। 'पांडा' को प्रत्येक आयाम के लिए 'अलग' करने के लिए दो अलग-अलग कॉल की आवश्यकता होती है। – piRSquared

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