NumPy Summations

حاصل جمع

تفاوت بین دو واژه summation و addition در این است که واژه دومی به جمع کردن 2 آرگومان اشاره دارد در حالیکه واژه اول به به جمع کردن n عنصر اشاره دارد.

برای مثال اگر بخواهیم عناصر موجود در دو آرایه را با هم جمع کنیم به صورت زیر عمل خواهیم کرد.


import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3])

newarr = np.add(arr1, arr2)

print(newarr)

خروجی:

حاصل جمع

اما در صورتی که از تابع np.sum() استفاده کنیم، این تابع ابتدا عناصر داخل هر آرگومان را با هم جمع می‌کند و سپس حاصل آن‌ها را با هم جمع کرده و نتیجه را به دست می‌دهد.


import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3])

newarr = np.sum([arr1, arr2])

print(newarr)

خروجی:

حاصل جمع روی یک محور مشخص

می‌توانید با مشخص کردن محور به NumPy بگوئید که چگونه عمل جمع را انجام دهد. برای مثال با قرار دادن axis = 1 عناصر هر آرایه را با هم جمع می‌کند.


import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([1, 2, 3])

newarr = np.sum([arr1, arr2], axis=1)

print(newarr)

خروجی:

برای درک بهتر axis = 0 را امتحان و نتیجه را با آنچه که انتظار دارید مقایسه کنید.

جمع انباشته‌ای

Cumulative Sum جمع تجمعی یا انباشته‌ای به معنی جمع کردن جزئی عناصر یک آرایه با یکدیگر است. برای مثال جمع انباشته‌ای آرایه [1, 2, 3, 4] به شکل زیر است:

[1, 1+2, 1+2+3, 1+2+3+4] = [1, 3, 6, 10].

برای انجام این نوع عمل جمع از تابع cumsum() استفاده کنید.


import numpy as np

arr = np.array([1, 2, 3])

newarr = np.cumsum(arr)

print(newarr)

خروجی: