2012-09-09 10 views
12

के बजाय SciPy मेरे प्रयोगशाला प्रयोगों के लिए मैं डेटा विश्लेषण के साथ मदद करने के लिए छोटे कार्यक्रम लिखता हूं। मुझे आमतौर पर केवल मूल गणना, साधन, मानक विचलन, मनमाने ढंग से भारित फ़ंक्शन फिटिंग और गलतियों और फिट फ़ंक्शन के साथ भूखंडों की आवश्यकता होती है।जीएनयू ऑक्टेव

जीएनयू ऑक्टेव के साथ, मैं यह कर सकता हूं। मैंने इसकी भाषा में और अधिक पढ़ना शुरू कर दिया और मुझे इसकी असंगतताओं को पसंद नहीं करना शुरू हुआ और मुझे अभी तक एक और भाषा सीखनी है।

तो मैं पाइथन का उपयोग करने के बारे में सोच रहा हूं, जिसे मैं थोड़ी देर के लिए उपयोग कर रहा हूं, जो कि साइपी और न्यूपी। क्या मैं उन चीजों को आसानी से पाइथन के साथ कर सकता हूं या क्या यह सामान्य उद्देश्य भाषा पाइथन को करने के लिए अधिक ओवरहेड है जो मैं करना चाहता हूं?

उत्तर

20

हां, पाइथन पारिस्थितिक तंत्र इसे रोजाना डेटा विश्लेषण कार्यों के लिए एक व्यवहार्य मंच बनाता है, विशेष रूप से आईपीथन इंटरफ़ेस का उपयोग करके (लेकिन मैं यहां मानक के साथ रहूंगा।) "[अभी तक] एक और भाषा सीखना नहीं है" तर्क एक मजबूत है, आईएमएचओ, और इस कारण के लिए मैं पाइथन का उपयोग करने के कारणों में से एक हूं।

>>> import numpy as np 
>>> import scipy.optimize 

>>> x = np.linspace(0, 10, 50) 
>>> y = 3*x**2+5+2*np.sin(x) 

"का अर्थ है, मानक विचलन"

>>> y.mean() 
106.3687338223809 
>>> y.std() 
91.395548605660522 

"मनमाना भारित समारोह फिटिंग"

>>> def func(x, a, b, c): 
...  return a*x**2+b+c*np.sin(x) 
... 
>>> ynoisy = y + np.random.normal(0, 0.2, size=len(x)) 
>>> popt, pcov = scipy.optimize.curve_fit(func, x, ynoisy) 
>>> popt 
array([ 3.00015527, 4.99421236, 2.03380468]) 

"भूखंडों" मैं आम तौर पर सिर्फ बुनियादी गणना की जरूरत है " त्रुटि सलाखों और फिट एफ के साथ गर्मजोशी "

xerr = 0.5 
yerr = abs(np.random.normal(0.3, 10.0)) 
fitted_data = func(x, *popt) 

# using the simplified, non-object-oriented interface here 
# handy for quick plots 

from pylab import * 
errorbar(x, ynoisy, xerr=xerr, yerr=yerr, c="green", label="actual data") 
plot(x, fitted_data, c="blue", label="fitted function") 
xlim(0, 10) 
ylim(0, 350) 
legend() 
xlabel("time since post") 
ylabel("coolness of Python") 
savefig("cool.png") 

sample pic

+0

+1: अच्छा जवाब। – tom10

+0

उस विस्तृत उत्तर के लिए बहुत बहुत धन्यवाद! मुझे बहुत जल्दी शुरू करना चाहिए। मेरे पास सिर्फ एक छोटी सी चीज है जिसे मैं पूछना भूल गया: मापन के तरीके में माप और त्रुटि tuples को कैसे संभालें। (मैंने पूछा कि [वहां] (http://stackoverflow.com/q/12351837/653152)।) –

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