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)

उदाहरण चलाएं

आरंभिक आयाम को व्यू पर किए गए परिवर्तनों के प्रभाव से प्रभावित होना चाहिए

आयाम का डाटा है कि नहीं है की जाँच करें

जैसा कि वर्णित है, कॉपी डाटा रखता है और व्यू डाटा नहीं रखता, लेकिन हमें कैसे जाँच सकते हैं कि?

हरेक NumPy आयाम के पास एक गुण है बेसयदि आयाम डाटा रखता है, तो इस 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)

उदाहरण चलाएं

कॉपी वापस शून्य

दृश्य वापस से असली आयाम ले लें