کپی آرایه NumPy در مقابل نمونه

تفاوت بین کپی و نمونه

تفاوت اصلی بین کپی و نمونه آرایه در این است که کپی یک آرایه جدید است، در حالی که این نمونه تنها نمونه‌ای از آرایه اصلی است.

کپی دارای داده‌هاست، هرگونه تغییر در کپی تأثیری بر آرایه اصلی ندارد و هرگونه تغییر در آرایه اصلی نیز تأثیری بر کپی ندارد.

نمای داده‌ای ندارد، هرگونه تغییر در نمای انجام‌شده تأثیر می‌گذارد بر آرایه اصلی، و هرگونه تغییر در آرایه اصلی تأثیر می‌گذارد بر نمای.

کپی:

مثال

یک کپی ایجاد کنید، آرایه اصلی را تغییر دهید و دو آرایه را نمایش دهید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 61
print(arr) 
print(x)

اجرای مثال

این کپی نباید تحت تأثیر تغییرات انجام‌شده بر روی آرایه اصلی قرار گیرد.

نمای:

مثال

یک نمای نگاه کنید، آرایه اصلی را تغییر دهید و دو آرایه را نمایش دهید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 61
print(arr) 
print(x)

اجرای مثال

نمای باید تحت تأثیر تغییرات انجام‌شده بر روی آرایه اصلی قرار گیرد.

تغییرات در نمای:

مثال

یک نمای نگاه کنید، تغییرات را در نمای انجام دهید و دو آرایه را نمایش دهید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
x[0] = 31
print(arr) 
print(x)

اجرای مثال

آرایه اصلی باید تحت تأثیر تغییرات انجام‌شده بر روی ویژگی مشاهده قرار گیرد.

بررسی اینکه آرایه دارای داده است یا خیر

همانطور که گفته شد، کپی دارای داده است و ویژگی base، اما چگونه می‌توانیم بررسی کنیم؟

هر آرایه NumPy یک ویژگی دارد base، اگر آرایه دارای داده باشد، این ویژگی base بازمی‌گردد هیچ‌چیزی.

در غیر این صورت،base ویژگی‌ها به اشتراک می‌گذارند.

مثال

برای بررسی اینکه آیا آرایه دارای داده‌های خود است یا خیر، ارزش base را چاپ کنید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
y = arr.view()
print(x.base)
print(y.base)

اجرای مثال

کپی بازگشت هیچ‌چیزی.

نمای بازگشت به آرایه اصلی