به آموزشگاه مجازی سینا خوش آمدید!

آموزش برش‌ زدن آرایه(Slicing) در NumPy

امتیاز
(0)

برش زدن آرایه‌ها

برش زدن در پایتون به معنای انتقال عناصر از یک اندیس مشخص به اندیس مشخص دیگر است.

ما به جای اندیس، برش(slice) را به این صورت تعیین می‌کنیم: [start:end].

ما همچنین می‌توانیم گام(step) را هم مشخص کنیم: [start:end:step].

اگر start را مشخص نکنیم، 0 در نظر گرفته خواهد شد. 

اگر end را مشخص نکنیم، برابر با طول آرایه در آن بُعد در نظر گرفته خواهد شد. 

اگر گام(step) را مشخص نکنیم، برابر با 1 در نظر گرفته خواهد شد. 

مثال شماره 1

برش زدن عناصر از اندیس 1 تا اندیس 5 در آرایه‌ی زیر:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])

نتیجه:

[2 3 4 5]
امتحان کنید

نکته: نتیجه‌ی برش زدن، شامل خود اندیس start نیز می‌شود اما شامل خود اندیس end نمی‌شود. 


مثال شماره 2

برش زدن عناصر از اندیس 4 تا انتهای آرایه:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[4:])

نتیجه:

[5 6 7]
امتحان کنید

مثال شماره 3

برش زدن عناصر از ابتدا تا اندیس 4(اما شامل خود آن نمی‌شود):

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[:4])

نتیجه:

[1 2 3 4]
امتحان کنید

برش زدن منفی

برای رجوع به یک اندیس از انتها، از عملگر منفی استفاده کنید:

مثال شماره 4

برش از اندیس 3 از انتها، تا اندیس 1 از انتها:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[-3:-1])

نتیجه:

[5 6]
امتحان کنید

استفاده از گام(step)

با استفاده از مقدار گام(step) می‌توانیم گام(قدر نسبت) برش را مشخص کنیم:

مثال شماره 5

شروع از اندیس 1، یعنی از عدد 2، و برگرداندن عناصر از عدد 2 تا عدد 5 (شامل عدد 6 نمی شود) با گام 2:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5:2])

نتیجه:

[2 4]
امتحان کنید

مثال شماره 6

برگرداندن عناصر از کل آرایه با گام یا قدرنسبت 2:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[::2])

نتیجه:

[1 3 5 7]
امتحان کنید

برش زدن آرایه‌های دوبعدی

مثال شماره 7

برش زدن عناصر از اندیس 1 تا اندیس 4(شامل خود 4 نمی‌شود) از عنصر دوم(یعنی از آرایه سمت راست که اندیس آن 1 است):

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4])

نتیجه:

[7 8 9]
امتحان کنید

نکته: به یاد داشته باشید که اندیس عنصر دوم، 1 است. 


مثال شماره 8

برگرداندن اندیس 2 از هردو عنصر:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2])

نتیجه:

[3 8]
امتحان کنید

مثال شماره 9

برش زدن اندیس 1 تا اندیس 4(شامل خود 4 نمی شود) از هردو عنصر(0:2 نیز شامل خود 2 نمی‌شود)؛ این باعث می شود یک آرایه‌ی دوبعدی برگردانده شود:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4])

نتیجه:

[[2 3 4]
 [7 8 9]]
امتحان کنید

 


منبع: www.w3schools.com/python/numpy

 

  • بازدید: 52

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال