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
,如果该数组拥有数据,则这个 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)
ప్రతిరూపం తిరిగి చేసుకోండి నలుగురు
.
మూల కేసును తిరిగి ప్రదర్శించండి
- ముందు పేజీ నమ్పీ డాటా టైప్స్
- తరువాత పేజీ నమ్పీ అరేయస్ ఆకారం