عملیات اساسی روی آرایه ها و ماتریس ها در SciPy
SciPy کتابخانه ای قدرتمند برای محاسبات علمی در پایتون است که طیف گسترده ای از توابع را برای انجام عملیات مختلف روی آرایه ها و ماتریس ها ارائه می دهد.
در این بخش، به برخی از عملیات اساسی که می توانید روی آرایه ها و ماتریس ها با استفاده از SciPy انجام دهید، می پردازیم.
۱. عملیات حسابی:
-
جمع، تفریق، ضرب و تقسیم:
Python
import numpy as np
array_1d = np.array([۱, ۲, ۳, ۴, ۵])
array_2d = np.array([[۱, ۲, ۳],
[۴, ۵, ۶],
[۷, ۸, ۹]])
# جمع آرایه ها
array_sum = array_1d + array_2d
# تفریق آرایه ها
array_diff = array_2d - array_1d
# ضرب آرایه ها
array_product = array_1d * array_2d
# تقسیم آرایه ها
array_division = array_2d / array_1d
- توان:
Python
# محاسبه توان دوم آرایه
array_1d_squared = array_1d ** ۲
- محاسبات آماری:
Python
# محاسبه میانگین
mean_array_1d = np.mean(array_1d)
# محاسبه مجموع ماتریس
total_sum = np.sum(array_2d)
۲. عملیات مقایسه:
- مقایسه مقادیر آرایه:
Python
# بررسی اینکه آیا همه مقادیر آرایه بزرگتر از ۲ هستند
is_all_greater = np.all(array_1d > ۲)
# بررسی اینکه آیا هیچ کدام از مقادیر آرایه برابر با ۵ نیست
is_none_equal = np.any(array_2d != ۵)
- یافتن مقادیر خاص در آرایه:
Python
# یافتن موقعیت اولین عدد ۴ در آرایه
index_first_4 = np.where(array_1d == ۴)[۰][۰]
# یافتن مقادیر ماتریس که بزرگتر از ۵ هستند
values_gt_5 = array_2d[array_2d > ۵]
۳. عملیات دستکاری:
- برش گذاری:
Python
# انتخاب ردیف اول ماتریس
row_1 = array_2d[۰, :]
# انتخاب ستون دوم ماتریس
column_2 = array_2d[:, ۱]
# انتخاب زیرماتریس
sub_matrix = array_2d[۱:۳, ۰:۲]
- ایجاد آرایه های جدید از آرایه های موجود:
Python
# ایجاد آرایه جدید با مقادیر مطلق از آرایه ۱ بعدی
array_abs = np.abs(array_1d)
# ایجاد آرایه جدید با مقادیر انتقال یافته از ماتریس
array_transpose = np.transpose(array_2d)
۴. عملیات ماتریسی:
- ضرب ماتریس:
Python
matrix_1 = np.matrix([[۱, ۲, ۳],
[۴, ۵, ۶]])
matrix_2 = np.matrix([[۷, ۸, ۹],
[۱۰, ۱۱, ۱۲]])
matrix_product = matrix_1 * matrix_2
- معکوس ماتریس:
Python
matrix_inverse = np.linalg.inv(matrix_1)
- حل معادلات خطی:
Python
matrix_a = np.matrix([[۱, ۲, ۳],
[۴, ۵, ۶],
[۷, ۸, ۹]])
b = np.array([۱۰, ۱۱, ۱۲])
x = np.linalg.solve(matrix_a, b)