Bestimmte Werte aus Array löschen
Verfasst: Mittwoch 27. Januar 2021, 18:16
Hallo liebes Forum,
etwas verzweifelt versuche ich seit einigen Stunden aus einem Array nullen zu löschen. (Ja, ich bin absoluter Python-Anfänger) Folgendes Problem habe ich:
Ich habe einen Vektor erstellt, in dem erst Mal eine Menge nullen stehen. In diesen Vektor möchte ich gerne meine Integrationsergebnisse speichern. Da ich allerdings recht große Intervalle nutze mit 500er Schritten stehen in diesem Vektor am Ende recht viele nullen, die ich gerne löschen möchte. Aber erst mal den Code zum Problem:
Vstrom_H2_ml3_min=zeros(438823, 1)
for i in range(0, 438823, 500):
Integrationsintervall=[H2_MF, H2_MF[i+500]]
Vstrom_H2_ml3_min= np.trapz(Integrationsintervall)
print('Done integrating')
Im Internet habe ich diverse Lösungsvorschläge gefunden. Jedoch hat irgendwie nichts so richtig geklappt. Zunächst habe ich es mit np.tolist() versucht und anschließen remove('0') bzw. remove('[0]' versucht, doch ich bekam immer wieder den Fehler, dass es keine nullen in der Liste gibt.
Über eine if-Bedingung bin ich auch schlecht weitergekommen, weil das Problem der Indizierung im Vektor dann bestehen bleibt.
Die Funktion np.unique schmeißt mir zwar meine nullen raus, aber sortiert meine Werte um und ich kann mir nicht zu hundert Prozent sicher sein, dass kein Wert doppelt ist und aussortiert wurde.
Zu guter letzt habe ich es mit der Funktion np.where versucht, aber irgendwie liefert die mir auch keine Positionen, wenn ich das richtig sehe...
Eigentlich kann das doch echt nicht so schwer sein. Vielleicht hat einer von Euch eine Idee, die mich weiterbringt?
Danke schonmal,
Hinnerk8
etwas verzweifelt versuche ich seit einigen Stunden aus einem Array nullen zu löschen. (Ja, ich bin absoluter Python-Anfänger) Folgendes Problem habe ich:
Ich habe einen Vektor erstellt, in dem erst Mal eine Menge nullen stehen. In diesen Vektor möchte ich gerne meine Integrationsergebnisse speichern. Da ich allerdings recht große Intervalle nutze mit 500er Schritten stehen in diesem Vektor am Ende recht viele nullen, die ich gerne löschen möchte. Aber erst mal den Code zum Problem:
Vstrom_H2_ml3_min=zeros(438823, 1)
for i in range(0, 438823, 500):
Integrationsintervall=[H2_MF, H2_MF[i+500]]
Vstrom_H2_ml3_min= np.trapz(Integrationsintervall)
print('Done integrating')
Im Internet habe ich diverse Lösungsvorschläge gefunden. Jedoch hat irgendwie nichts so richtig geklappt. Zunächst habe ich es mit np.tolist() versucht und anschließen remove('0') bzw. remove('[0]' versucht, doch ich bekam immer wieder den Fehler, dass es keine nullen in der Liste gibt.
Über eine if-Bedingung bin ich auch schlecht weitergekommen, weil das Problem der Indizierung im Vektor dann bestehen bleibt.
Die Funktion np.unique schmeißt mir zwar meine nullen raus, aber sortiert meine Werte um und ich kann mir nicht zu hundert Prozent sicher sein, dass kein Wert doppelt ist und aussortiert wurde.
Zu guter letzt habe ich es mit der Funktion np.where versucht, aber irgendwie liefert die mir auch keine Positionen, wenn ich das richtig sehe...
Eigentlich kann das doch echt nicht so schwer sein. Vielleicht hat einer von Euch eine Idee, die mich weiterbringt?
Danke schonmal,
Hinnerk8