Python 你能判断一个数组是否是另一个数组的视图吗?
numpy阵列是否跟踪其“查看状态” 我要找的是Python 你能判断一个数组是否是另一个数组的视图吗?,python,numpy,Python,Numpy,numpy阵列是否跟踪其“查看状态” 我要找的是numpy.isview()之类的东西 我希望在代码分析中使用此选项,以确保我正确地执行操作,并在我认为正确时获取视图。ndarray.flags.owndata告诉您数组是否拥有其数据。在您的示例中: In [18]: a.flags.owndata Out[18]: True In [19]: b.flags.owndata Out[19]: False 它显然没有你所要求的那么精确,但这是我所知道的最好的了。数组还有一个基本属性: a =
numpy.isview()
之类的东西
我希望在代码分析中使用此选项,以确保我正确地执行操作,并在我认为正确时获取视图。ndarray.flags.owndata告诉您数组是否拥有其数据。在您的示例中:
In [18]: a.flags.owndata
Out[18]: True
In [19]: b.flags.owndata
Out[19]: False
它显然没有你所要求的那么精确,但这是我所知道的最好的了。数组还有一个基本属性:
a = np.arange(10)
print a.base
None
b = a[2:9]
print b.base is a
True
c = b[:2]
print c.base is b
True
print c.base is a
False
谢谢,很好。是“b.base是一个”比“a.数组接口”.[0]==b.数组接口”.[0].[0].“它更短…这比我的hack好得多+1,它应该被接受为答案。
a = np.arange(10)
print a.base
None
b = a[2:9]
print b.base is a
True
c = b[:2]
print c.base is b
True
print c.base is a
False