Heim >Backend-Entwicklung >Python-Tutorial >Der Unterschied zwischen Array und Asarray in Numpy

Der Unterschied zwischen Array und Asarray in Numpy

不言
不言Original
2018-04-17 11:48:553614Durchsuche

Das Folgende ist eine detaillierte Erklärung des Unterschieds zwischen Array und Asarray in Numpy. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Schauen wir uns das gemeinsam an

Sowohl array als auch asarray können Strukturdaten in ndarray konvertieren. Der Hauptunterschied besteht jedoch darin, dass bei ndarray als Datenquelle das array immer noch eine Kopie kopiert und neuen Speicher belegt, asarray jedoch nicht treffen.

Beispiel:

import numpy as np 
 
#example 1: 
data1=[[1,1,1],[1,1,1],[1,1,1]] 
arr2=np.array(data1) 
arr3=np.asarray(data1) 
data1[1][1]=2 
print 'data1:\n',data1 
print 'arr2:\n',arr2 
print 'arr3:\n',arr3

Ausgabe:

data1: 
[[1, 1, 1], [1, 2, 1], [1, 1, 1]] 
arr2: 
[[1 1 1] 
 [1 1 1] 
 [1 1 1]] 
arr3: 
[[1 1 1] 
 [1 1 1] 
 [1 1 1]]

Es ist ersichtlich, dass es keinen Unterschied zwischen Array und Asarray gibt, die beide die Metadaten kopieren.

import numpy as np 
 
#example 2: 
arr1=np.ones((3,3)) 
arr2=np.array(arr1) 
arr3=np.asarray(arr1) 
arr1[1]=2 
print 'arr1:\n',arr1 
print 'arr2:\n',arr2 
print 'arr3:\n',arr3

Ausgabe:

arr1: 
[[ 1. 1. 1.] 
 [ 2. 2. 2.] 
 [ 1. 1. 1.]] 
arr2: 
[[ 1. 1. 1.] 
 [ 1. 1. 1.] 
 [ 1. 1. 1.]] 
arr3: 
[[ 1. 1. 1.] 
 [ 2. 2. 2.] 
 [ 1. 1. 1.]]

Hier zeigt sich der Unterschied zwischen den beiden

Verwandte Empfehlungen:

So verarbeiten Sie boolesche Arrays in Numpy

Detaillierte Erklärung des Unterschieds zwischen numpy.random.randn() und rand()


Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Array und Asarray in Numpy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn