آموزش توابع آماری در NumPy
آموزش توابع آماری در NumPy
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش توابع آماری در NumPy خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش صفر تا صد پایتون
NumPy دارای چند توابع آماری مفید برای یافتن حداقل، حداکثر، انحراف استاندارد و واریانس و غیره از عناصر داده شده در آرایه است. توابع به شرح زیر توضیح داده شده است –
()numpy.amin و ()numpy.amax
این توابع حداقل و بیشترین را از عناصر موجود در آرایه داده شده در امتداد محور مشخص برمی گردانند.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import numpy as np a = np.array([[3,7,5],[8,4,3],[2,4,9]]) print 'Our array is:' print a print '\n' print 'Applying amin() function:' print np.amin(a,1) print '\n' print 'Applying amin() function again:' print np.amin(a,0) print '\n' print 'Applying amax() function:' print np.amax(a) print '\n' print 'Applying amax() function again:' print np.amax(a, axis = 0) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Our array is: [[3 7 5] [8 4 3] [2 4 9]] Applying amin() function: [3 3 2] Applying amin() function again: [2 4 3] Applying amax() function: 9 Applying amax() function again: [8 7 9] |
()numpy.ptp
تابع () numpy.ptp دامنه (حداکثر-حداقل) مقادیر را در طول یک محور برمی گرداند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import numpy as np a = np.array([[3,7,5],[8,4,3],[2,4,9]]) print 'Our array is:' print a print '\n' print 'Applying ptp() function:' print np.ptp(a) print '\n' print 'Applying ptp() function along axis 1:' print np.ptp(a, axis = 1) print '\n' print 'Applying ptp() function along axis 0:' print np.ptp(a, axis = 0) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Our array is: [[3 7 5] [8 4 3] [2 4 9]] Applying ptp() function: 7 Applying ptp() function along axis 1: [4 5 7] Applying ptp() function along axis 0: [6 3 6] |
()numpy.percentile
صدک معیاری است که در آمار نشان داده می شود و مقداری را نشان می دهد که زیر یک درصد مشاهدات در یک گروه از مشاهدات کاهش می یابد. تابع ()numpy.percentile آرگومان های زیر را می گیرد.
1 |
numpy.percentile(a, q, axis) |
آرگومان | |
---|---|
1 | a
آرایه ورودی |
2 | q
صدک محاسبه باید بین 0 تا 100 باشد |
3 | axis
محوری که در آن صدک محاسبه می شود |
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import numpy as np a = np.array([[30,40,70],[80,20,10],[50,90,60]]) print 'Our array is:' print a print '\n' print 'Applying percentile() function:' print np.percentile(a,50) print '\n' print 'Applying percentile() function along axis 1:' print np.percentile(a,50, axis = 1) print '\n' print 'Applying percentile() function along axis 0:' print np.percentile(a,50, axis = 0) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Our array is: [[30 40 70] [80 20 10] [50 90 60]] Applying percentile() function: 50.0 Applying percentile() function along axis 1: [ 40. 20. 60.] Applying percentile() function along axis 0: [ 50. 40. 60.] |
()numpy.median
میانه به عنوان مقداری تعریف می شود که نیمه بالاتر یک نمونه داده را از نیمه پایین جدا می کند. از تابع ()numpy.median استفاده می شود که در برنامه زیر نشان داده شده است.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import numpy as np a = np.array([[30,65,70],[80,95,10],[50,90,60]]) print 'Our array is:' print a print '\n' print 'Applying median() function:' print np.median(a) print '\n' print 'Applying median() function along axis 0:' print np.median(a, axis = 0) print '\n' print 'Applying median() function along axis 1:' print np.median(a, axis = 1) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Our array is: [[30 65 70] [80 95 10] [50 90 60]] Applying median() function: 65.0 Applying median() function along axis 0: [ 50. 90. 60.] Applying median() function along axis 1: [ 65. 80. 60.] |
()numpy.mean
میانگین حسابی مجموع عناصر در امتداد یک محور تقسیم بر تعداد عناصر است. تابع ()numpy.mean میانگین محاسبه عناصر در آرایه را برمی گرداند. اگر محور ذکر شود ، در امتداد آن محاسبه می شود.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print 'Our array is:' print a print '\n' print 'Applying mean() function:' print np.mean(a) print '\n' print 'Applying mean() function along axis 0:' print np.mean(a, axis = 0) print '\n' print 'Applying mean() function along axis 1:' print np.mean(a, axis = 1) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Our array is: [[1 2 3] [3 4 5] [4 5 6]] Applying mean() function: 3.66666666667 Applying mean() function along axis 0: [ 2.66666667 3.66666667 4.66666667] Applying mean() function along axis 1: [ 2. 4. 5.] |
()numpy.average
میانگین توزین میانگین است که حاصل ضرب هر مولفه در عاملی است که اهمیت آن را منعکس می کند. تابع ()numpy.average میانگین وزنی عناصر موجود در یک آرایه را با توجه به وزن مربوط به آنها در آرایه دیگری محاسبه می کند. این تابع می تواند یک پارامتر محور داشته باشد. اگر محور مشخص نشده باشد ، آرایه مسطح می شود.
با در نظر گرفتن یک آرایه [1،2،3،4] و وزن های مربوطه [4،3،2،1] ، میانگین وزنی با اضافه کردن محصول عناصر مربوطه و تقسیم مجموع بر مجموع وزن محاسبه می شود.
میانگین وزنی = (1 * 4 + 2 * 3 + 3 * 2 + 4 * 1) / (4 + 3 + 2 + 1)
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import numpy as np a = np.array([1,2,3,4]) print 'Our array is:' print a print '\n' print 'Applying average() function:' print np.average(a) print '\n' # this is same as mean when weight is not specified wts = np.array([4,3,2,1]) print 'Applying average() function again:' print np.average(a,weights = wts) print '\n' # Returns the sum of weights, if the returned parameter is set to True. print 'Sum of weights' print np.average([1,2,3, 4],weights = [4,3,2,1], returned = True) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 11 |
Our array is: [1 2 3 4] Applying average() function: 2.5 Applying average() function again: 2.0 Sum of weights (2.0, 10.0) |
در یک آرایه چند بعدی می توان محور محاسبه را تعیین کرد.
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import numpy as np a = np.arange(6).reshape(3,2) print 'Our array is:' print a print '\n' print 'Modified array:' wt = np.array([3,5]) print np.average(a, axis = 1, weights = wt) print '\n' print 'Modified array:' print np.average(a, axis = 1, weights = wt, returned = True) |
این خروجی زیر را تولید می کند –
1 2 3 4 5 6 7 8 9 10 |
Our array is: [[0 1] [2 3] [4 5]] Modified array: [ 0.625 2.625 4.625] Modified array: (array([ 0.625, 2.625, 4.625]), array([ 8., 8., 8.])) |
انحراف معیار
انحراف معیار ریشه مربع میانگین انحرافات مربع از میانگین است. فرمول انحراف استاندارد به شرح زیر است –
1 |
std = sqrt(mean(abs(x - x.mean())**2)) |
اگر آرایه [1 ، 2 ، 3 ، 4] باشد ، میانگین آن 2.5 است. از این رو انحراف مربع [25/2 ، 25/0 ، 25/0 ، 25/2] و مربع میانگین آن بر 4 تقسیم شده است، به عنوان مثال، sqrt (5/4) 1.1180339887498949 است.
مثال
1 2 |
import numpy as np print np.std([1,2,3,4]) |
این خروجی زیر را تولید می کند –
1 |
1.1180339887498949 |
واریانس
واریانس میانگین انحرافات مربع، یعنی میانگین است (abs (x – x.mean ()) ** 2). به عبارت دیگر، انحراف معیار ریشه مربع واریانس است.
مثال
1 2 |
import numpy as np print np.var([1,2,3,4]) |
این خروجی زیر را تولید می کند –
1 |
1.25 |
لیست جلسات قبل آموزش NumPy
- آموزش NumPy
- معرفی NumPy
- آموزش محیط کار NumPy
- آموزش شی Ndarray در NumPy
- آموزش انواع داده ها در NumPy
- آموزش ویژگی های آرایه در NumPy
- آموزش روال ایجاد آرایه در NumPy
- آموزش ایجاد آرایه از داده های موجود در NumPy
- آموزش ایجاد آرایه از محدوده های عددی در NumPy
- آموزش شاخص گذاری و برش در NumPy
- آموزش شاخص گذاری پیشرفته در NumPy
- آموزش Broadcasting در NumPy
- آموزش تکرار در یک آرایه در NumPy
- آموزش دستکاری آرایه در NumPy
- آموزش اپراتورهای دودویی در NumPy
- آموزش توابع رشته ای در NumPy
- آموزش توابع ریاضی در NumPy
- آموزش عملیات حسابی در NumPy
دیدگاه شما