2014-10-15 13 views
5

मैं 'कुर्टोसिस' की गणना करने की कोशिश कर रहा हूं, साथ ही साथ एक numpy सरणी के अन्य आंकड़े। न्यूनतम, अधिकतम, माध्य और मानक विचलन की गणना करना आसान है जैसा मैंने अभी किया है।एक numpy सरणी से kurtosis की गणना?

import arcpy 
arr = arcpy.RasterToNumPyArray(input_Raster) 
x = arr 
print 'Min =', x.min() 
print 'Max =', x.max() 
print 'Mean =', x.mean() 
print 'Standard Deviation =', x.std() 

आउटपुट कौन सा:

Min = 1.87895 
Max = 16.8343 
Mean = 8.03462 
Standard Deviation = 1.52192 

लेकिन इस विधि कुकुदता लिए काम नहीं करता! मैं कोशिश की है के रूप में

print 'Kurtosis =', x.kurtosis() 

और मैं मिलता है: AttributeError: 'numpy.ndarray' ऑब्जेक्ट कोई विशेषता 'कुकुदता'

क्या सरल कोड मैं में शामिल करना इस्तेमाल कर सकते हैं हो सकता है है मेरी कुर्टोसिस परिणाम की गणना करने के लिए खुद का? धन्यवाद।

उत्तर

5

न्यूम्पी काफी बुनियादी सरणी संचालन तक ही सीमित है, आपको more advanced stats functions प्राप्त करने के लिए इसके अधिक शिक्षित भाई, सिसी तक पहुंचने की आवश्यकता है।

scipy.stats.kurtosis(a, axis=0, fisher=True, bias=True)

Computes the kurtosis (Fisher or Pearson) of a dataset.

तो, from scipy.stats import kurtosis, तो kurtosis(x)

सामान्य रूप से, नम्पी सरणी पर विधियां केवल सबसे बुनियादी परिचालनों तक सीमित होती हैं (max, min, आदि)। scipy.stats से आयात arcpy आयात scipy आयात कुकुदता input_Raster =: थोड़ा और अधिक कार्यक्षमता SciPy (scipy.optimize.[whatever]scipy.signal.[whatever], scipy.stats.[whatever])

+0

ठीक है तो मेरे संशोधित कोड आउटपुट से Numpy तरीकों में से बाहर eked है (उदाहरण के लिए numpy.diff), और अधिक अभी भी arcpy.Raster (फ़ाइल का नाम) आगमन = arcpy.RasterToNumPyArray (input_Raster) एक्स = आगमन scipy.stats.kurtosis (एक्स, अक्ष = 0, फिशर यह सच है =, पूर्वाग्रह = सच) प्रिंट 'कुकुदता =', कुकुदता (एक्स) – Student2014

+0

कुर्टोसिस = [-0.09035063 -0.07390738 -0.14783502 ..., 4.14966822 3.81233072 2.9377284] – Student2014

+0

सुनिश्चित नहीं है अगर यह सही है? दिशा के लिए बहुत बहुत धन्यवाद - मुझे लगता है कि मुझे कुर्टोसिस पर और अधिक पढ़ने की जरूरत है! – Student2014

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