آموزش شاخص گذاری و برش در NumPy
آموزش شاخص گذاری و برش در NumPy
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش شاخص گذاری و برش در NumPy خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
به محتوای جسم ndarray می توان با استفاده از شاخص گذاری یا برش، دقیقاً مانند اشیا container ظرفی ساخته شده در پایتون دسترسی و اصلاح کرد.
همانطور که قبلاً ذکر شد، موارد موجود در شی ndarray از شاخص مبتنی بر صفر پیروی می کنند. سه نوع روش نمایه سازی در دسترس است – دسترسی به زمینه ، برش اولیه و نمایه سازی پیشرفته.
برش اساسی توسعه مفهوم اساسی برش پایتون از برش تا ابعاد n است. یک شی برش پایتون با دادن پارامترهای start ، stop و step به عملکرد برش داخلی ساخته می شود. این شی برش برای استخراج بخشی از آرایه به آرایه منتقل می شود.
مثال 1
1 2 3 4 |
import numpy as np a = np.arange(10) s = slice(2,7,2) print a[s] |
خروجی آن به شرح زیر است –
1 |
[2 4 6] |
در مثال فوق، یک شی ndar ndarray توسط تابع ()arange تهیه می شود. سپس یک شی برش به ترتیب با مقادیر start ، stop و step به ترتیب 2 ، 7 و 2 تعریف می شود. هنگامی که این شی برش به ndarray منتقل می شود ، بخشی از آن که با شاخص 2 تا 7 شروع می شود با مرحله 2 بریده می شود.
با دادن پارامترهای برش داده شده توسط دو نقطه: (شروع: توقف: مرحله) مستقیماً به جسم ndarray نیز می توان نتیجه مشابهی گرفت.
مثال 2
1 2 3 4 |
import numpy as np a = np.arange(10) b = a[2:7:2] print b |
در اینجا، ما همان خروجی را خواهیم گرفت –
1 |
[2 4 6] |
اگر فقط یک پارامتر قرار داده شود ، یک مورد واحد مربوط به فهرست بازگردانده می شود. اگر a: در مقابل آن درج شود ، تمام موارد از آن شاخص به بعد استخراج می شوند. اگر از دو پارامتر (با: بین آنها) استفاده شود ، موارد بین دو شاخص (شامل شاخص توقف) با مرحله پیش فرض یک برش داده می شوند.
مثال 3
1 2 3 4 5 6 |
# slice single item import numpy as np a = np.arange(10) b = a[5] print b |
خروجی آن به شرح زیر است –
1 |
5 |
مثال 4
1 2 3 4 |
# slice items starting from index import numpy as np a = np.arange(10) print a[2:] |
در حال حاضر، خروجی خواهد بود –
1 |
[2 3 4 5 6 7 8 9] |
مثال 5
1 2 3 4 |
# slice items between indexes import numpy as np a = np.arange(10) print a[2:5] |
در اینجا، خروجی خواهد بود –
1 |
[2 3 4] |
توضیحات فوق برای تقسیم بندی چند بعدی نیز اعمال می شود.
مثال 6
1 2 3 4 5 6 7 |
import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print a # slice items starting from index print 'Now we will slice the array from the index a[1:]' print a[1:] |
خروجی به شرح زیر است –
1 2 3 |
[[1 2 3] [3 4 5] [4 5 6]] |
اکنون آرایه را از شاخص a برش خواهیم داد [1:]
1 2 |
[[3 4 5] [4 5 6]] |
برش همچنین می تواند شامل بیضی (…) باشد تا یک تاپل انتخابی با طول یک آرایه ایجاد کند. اگر از بیضی در موقعیت ردیف استفاده شود ، آن یک جدایی متشکل از موارد موجود در ردیف ها را برمی گرداند.
مثال 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# array to begin with import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print 'Our array is:' print a print '\n' # this returns array of items in the second column print 'The items in the second column are:' print a[...,1] print '\n' # Now we will slice all items from the second row print 'The items in the second row are:' print a[1,...] print '\n' # Now we will slice all items from column 1 onwards print 'The items column 1 onwards are:' print a[...,1:] |
خروجی این برنامه به شرح زیر است –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Our array is: [[1 2 3] [3 4 5] [4 5 6]] The items in the second column are: [2 4 5] The items in the second row are: [3 4 5] The items column 1 onwards are: [[2 3] [4 5] [5 6]] |
دیدگاه شما