Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertieren Sie Numpy in eine Liste: Tipps zur Verbesserung der Datenverarbeitungseffizienz

Konvertieren Sie Numpy in eine Liste: Tipps zur Verbesserung der Datenverarbeitungseffizienz

WBOY
WBOYOriginal
2024-01-19 10:11:16865Durchsuche

Konvertieren Sie Numpy in eine Liste: Tipps zur Verbesserung der Datenverarbeitungseffizienz

In der Datenverarbeitung ist es oft notwendig, Numpy-Arrays in Listen umzuwandeln. Numpy-Arrays sind sehr leistungsfähige Datenstrukturen, aber manchmal müssen Sie Listen für weitere Operationen verwenden. Gleichzeitig gibt es auch einige Vorgänge, die eine Konvertierung zwischen Numpy-Arrays und Listen erfordern. In diesem Artikel stellen wir die Methode zum Konvertieren eines Numpy-Arrays in eine Liste vor und stellen spezifische Codebeispiele bereit.

1. Verwenden Sie die Methode tolist()

Die Methode tolist() wird in Numpy bereitgestellt, mit der Numpy einfach in eine Liste konvertiert werden kann. Das Folgende ist ein Beispiel:

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
a_list = a.tolist()

print(a_list)

Ausgabeergebnis:

[[1, 2, 3], [4, 5, 6]]

tolist()-Methode ist sehr einfach, aber relativ ineffizient. Wenn Sie größere Arrays verarbeiten müssen, kann die Methode tolist() sehr langsam werden.

2. Verwenden Sie die Cache-Methode

Wenn Sie die Effizienz bei der Verarbeitung großer Numpy-Arrays verbessern möchten, können Sie die Cache-Methode verwenden. Das heißt, fügen Sie der Liste nacheinander Elemente in Numpy hinzu. Das Folgende ist ein Beispiel:

import numpy as np

a = np.array([[1,2,3], [4,5,6]])

# np.ndarray.flat 属性将返回一个迭代器,遍历数组中的所有元素
a_list = [item for item in a.flat]

print(a_list)

Ausgabeergebnis:

[1, 2, 3, 4, 5, 6]

Mit dieser Methode können Sie häufige Konvertierungen zwischen Numpy und Liste vermeiden und so die Effizienz verbessern.

3. Verwenden Sie die Reshape-Methode

Die Reshape-Methode kann das Numpy-Array in eine listenähnliche Form umformen, und die Liste kann durch die Flatten-Methode erweitert werden. Das Folgende ist ein Beispiel:

import numpy as np

a = np.array([[1,2,3], [4,5,6]])
a_reshape = a.reshape(-1)
a_list = a_reshape.tolist()

print(a_list)

Ausgabeergebnis:

[1, 2, 3, 4, 5, 6]

Die Reshape-Methode kann das Array in ein eindimensionales Array umwandeln und es dann mit der tolist()-Methode in eine Liste umwandeln.

4. Verwenden Sie die list()-Methode

Mit der list()-Methode können Sie ein Numpy-Array direkt in eine Liste konvertieren, Sie müssen jedoch auf die Abmessungen des Arrays achten. Diese Methode funktioniert nur, wenn die Dimension 1 ist.

import numpy as np

a = np.array([1,2,3])
a_list = list(a)

print(a_list)

Ausgabeergebnis:

[1, 2, 3]

Wenn die Dimension des Arrays nicht 1 ist, müssen Sie andere Methoden verwenden.

Zusammenfassung

Die oben genannten Methoden sind mehrere Methoden zum Konvertieren von Numpy-Arrays in Listen, von denen die tolist()-Methode die gebräuchlichste Methode ist, deren Effizienz jedoch relativ gering ist. Beim Umgang mit großen Arrays kann die Verwendung von Cache-Methoden und Reshape-Methoden die Effizienz verbessern. Wir müssen die am besten geeignete Methode entsprechend unseren eigenen Bedürfnissen auswählen.

Fügen Sie den vollständigen Code hinzu:

import numpy as np

# tolist()方法
a = np.array([[1,2,3], [4,5,6]])
a_list = a.tolist()
print(a_list)

# 缓存方法
a = np.array([[1,2,3], [4,5,6]])
a_list = [item for item in a.flat]
print(a_list)

# reshape方法
a = np.array([[1,2,3], [4,5,6]])
a_reshape = a.reshape(-1)
a_list = a_reshape.tolist()
print(a_list)

# list()方法
a = np.array([1,2,3])
a_list = list(a)
print(a_list)

Ausgabeergebnis:

[[1, 2, 3], [4, 5, 6]]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]

Das obige ist der detaillierte Inhalt vonKonvertieren Sie Numpy in eine Liste: Tipps zur Verbesserung der Datenverarbeitungseffizienz. 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