格式化numpy.savetxt从hdf5?

2024-04-24 19:16:11 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy
import tables

file = tables.openFile( "....hdf5","r")
lon = numpy.array(file.root.lon)
lon.ravel()
lat = numpy.array(file.root.lat)
lat.ravel()
data = numpy.array(file.root.data)

v0= data.shape[0]
v1= data.shape[1]
v2= data.shape[2]
wind_spectrum_flat = data.reshape((v0, v1*v2))

interval_spectrum = numarray.arange(30) + 0.5
speed_mean = numarray.dot(interval_spectrum, wind_spectrum_flat)/days/24.
value = numarray.reshape(speed_mean, (v1, v2) )
value.ravel()

打印横向形状,长形,值.形状在

(480640)(480640)(307200,)

^{pr2}$

输出如下:

1.131087052608466621e+02   2.245298999778770010e+01   3.922619047619047450e+001.131096961042312046e+02   2.245299666446372910e+01 

如何将它们格式化为每行有三个数字(非科学)列?i、 电子邮箱:

11310870  224529 3.922
11310969  224529 4.512
11320485  223643 5.332
...

Tags: importnumpytablesdatarootarrayv2file
1条回答
网友
1楼 · 发布于 2024-04-24 19:16:11

您可以这样使用savetxt fmt关键字:

numpy.savetxt(out_name,output, fmt="%u %u %.3f")

你将输出2个整数和一个浮点数,其中一个浮点数前有3个数字。在

为了确保每个矢量都具有正确的矢量形状(一维数组),可以在代码中替换:

^{pr2}$

签署人:

x.ravel()

其中x可以是lon,lat和数据向量。在

相关问题 更多 >