Fehler: float argument required, nicht numpy.ndarray
Ich erhalte eine Fehlermeldung beim ausführen des folgenden Programms. Ich bin versucht, zu schreiben die Ausgabe in eine Datei auf einem Datenträger.
import time
start_time = time.clock()
import numpy as np
theta=6
sigma=np.linspace(0,10,80)
Re=np.linspace(5,100,80)
import os
completeName = os.path.abspath("New Volume (F:)/new innings 2/Sigma at 100 @80 .txt")
file = open("Sigma at 100 @80.txt", "w")
for i in np.arange(0,80):
mu=np.sqrt(Re[i]*sigma)
A=(mu-1)*np.exp(mu)+(mu+1)*np.exp(-mu)
B=2*mu*(theta-1)
C=(A/B)
D1=np.exp(mu)/2*(mu+sigma)
D2=np.exp(-mu)/2*(mu-sigma)
D3=mu**2
D4=np.exp(-sigma)
D5=sigma
D6=mu**2-sigma**2
D7=D3*D4
D8=D5*D6
H=D7/D8
D9=(1/sigma)
D=D1-D2+H-D9
K1=C-D
K11=np.array(K1)
print K11
file.write("%g\n" % K11)
file.close()
print time.clock() - start_time, "seconds"
Ich bin immer der Fehler
TypeError: float argument required, not numpy.ndarray
entsprechend
file.write("%g\n" % K11)
Freundlicherweise einige Vorschläge machen. Vielen Dank im Voraus.
- Es sagt genau dort: %g erwartet eine Zahl, die nicht ein ganzes array. Entweder Durchlaufen Sie schriftlich jeden ein-oder look-up-Numpy Besondere fileIO-Operationen
- Was verstehen Sie nicht? Die Fehlermeldung sagt genau das problem; du bist die übergabe einer
array
, die kann nicht formatiert werden, mit'%g'
. - Ich fragte hier nur, weil ich weiß nicht, wie zu schreiben, wird das gesamte array in eine Datei. Jede Anregung?
file.write(' '.join(str(a) for a in K11))
- Danke Euch, sondern schreibt es in der form nicht zu unterscheiden. Können die Matrizen angeordnet werden, in einem besseren Weg?
- Prüfen Sie hier: stackoverflow.com/questions/2891790/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie