在Python中对Numpy来说还是比较新的...我试图从RINEX数据构建我自己的数组(参见示例):
G13 2014 01 02 02 00 00 .440594740212D-04 -.375166564481D-11 .000000000000D+00
.290000000000D+02 .705937500000D+02 .382980238378D-08 -.135945866650D+01
.353716313839D-05 .509947887622D-02 .137723982334D-04 .515366394615D+04
.352800000000D+06 -.819563865662D-07 .312956454846D+01 -.633299350739D-07
.979542877504D+00 .129500000000D+03 .219020237787D+01 -.757495838456D-08
-.431803700643D-09 .100000000000D+01 .177300000000D+04 .000000000000D+00
.240000000000D+01 .000000000000D+00 -.111758708954D-07 .290000000000D+02
.345618000000D+06 .400000000000D+01
我使用以下代码进行初始化矩阵:
parameter_block_list = np.empty(cs.TOTAL_SATS, cs.RINEX_NAVIGATION_PARAMETERS) * np.NaN
问题是转换RINEX文件块中的数字,其中每个数字使用" D"作为一个指数。 Numpy有没有办法进行适合这种数据格式的数据类型转换?我收到的错误是:
TypeError: data type not understood
答案 0 :(得分:2)
我认为你得到data type not understood
的原因是,在将数组的维度作为单独的参数传递给empty
时,第一个被视为shape
和第二个作为dtype
- 请参阅the docs。也许你的意思是将shape
作为元组传递:
parameter_block_list = np.empty((cs.TOTAL_SATS, cs.RINEX_NAVIGATION_PARAMETERS)) * np.NaN