2017-12-30 5 views
0

Hallo ich möchte eine Daten Textdatei verarbeiten, aber ich habe eine Menge Probleme mit dem Code zu haben. die Textdatei ist alsProbleme mit Numpy genfromtxt

-7      -9.000000000000002  -3      622.0582425616101 
-6.500000000000001  -9.000000000000002  -3      622.1498719223513 
-6      -9.000000000000002  -3      622.2415012830924 
-5.5      -9.000000000000002  -3      622.3331306438334 
-5      -9.000000000000002  -3      622.3591843760928 
-4.500000000000001  -9.000000000000002  -3      622.374656812196 
-4      -9.000000000000002  -3      622.3901292482993 
-3.5      -9.000000000000002  -3      622.4169574709064 

jedoch folgt es einige Linien sind, wo es durch Nan Werte sind wie

6.500000000000001   0      0.5      NaN 
7       0      0.5      NaN 
7.5      0      0.5      NaN 
8       0      0.5      NaN 
8.5      0      0.5      NaN 
9.000000000000002   0      0.5      NaN 
9.5      0      0.5      NaN 
10      0      0.5      NaN 
10.5      0      0.5      NaN 
11      0      0.5      NaN 

Die Textdatei ist einfach XYZ-Koordinaten und der jeweiligen Temperatur. Was ich vorhabe, ist, mich hauptsächlich auf die letzte Spalte zu konzentrieren, die die Temperatur ist, und es gibt zwei verschiedene Datentypen, nämlich "Wert" und "Nan". Ich habe viele Iterationen von genfromtxt ausprobiert, aber ich bekomme immer noch viele Fehler. Was ich mit der letzten Spalte machen möchte, ist, im Wesentlichen die maximale Temperatur, mittlere Temperatur, Steigung usw. zu drucken. Könnte mir bitte jemand mit meinem Code helfen, da ich wirklich neu in der Programmierung bin und nicht sicher bin, wie ich darüber vorgehen soll. Jede Hilfe wird sehr geschätzt.

Ab sofort ist dies der Code ich habe

import numpy as np 



data = np.genfromtxt('C:\\Users\\loges\\OneDrive\\Documents\\School\\ME4101A FYP\\temperature600.txt', 
      skip_header=0, skip_footer=1,dtype=None) 


print("Max Temp :", data.max()) 

aber meine Rückkehr Ergebnisse zeigen nur nan

Max Temp : nan 
[Finished in 0.9s] 

ich wirklich hoffe, jemand wäre in der Lage, mir zu helfen. Es wird sehr geschätzt werden.

Antwort

0

Verwenden np.nanmax:

Return das Maximum eines Arrays oder Maximum entlang einer Achse, ohne auf irgendwelche NaNs. Wenn alle NaN-Scheiben angetroffen werden, wird RuntimeWarning angehoben und NaN wird für diese Scheibe zurückgegeben.

Für die mittlere Verwendung np.nanmin.

Beispiel:

print(np.nanmax(data[:, -1])) 

Ausgang:

622.41695747090637 
+0

Hallo ich Ihre Methode versucht, aber ich habe diese stattdessen Max Temp: [622,05824256 622,14987192 622,24150128 ..., 81. 81. 81. ] [Fertig in 0.9s] hat es mit der Definition von Parametern mit der genfromtxt-Funktion zu tun? –

+0

Was ist der 'dtype' von' Daten'? 'print (data.dtype)' –

+0

der dtype ist float64 –

Verwandte Themen