麻烦使用Numpy genfromtxt

时间:2017-12-30 17:33:09

标签: 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

但是有一些行存在Nan值,例如

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

文本文件只是XYZ坐标和相应的温度。我打算做的主要是关注最后一列,即温度,有两种不同的数据类型,即'值'和'南'。我尝试了很多genfromtxt的迭代,但我仍然遇到很多错误。我想用最后一栏做的是基本上打印最大温度,平均温度,渐变等。有人可以帮我解决我的代码,因为我对编程很新,不知道如何去做。非常感谢任何帮助。

截至目前,这是我的代码

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())

但我的回报结果只显示了纳

Max Temp : nan
[Finished in 0.9s]

我真的希望有人能够帮助我。非常感谢。

1 个答案:

答案 0 :(得分:0)

使用-e

  

沿轴返回数组的最大值或最大值,忽略任何数组   NaN的。遇到全NaN切片时,np.nanmax为。{1}}   提升并为该切片返回NaN。

平均使用RuntimeWarning

示例:

np.nanmin

输出:

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