为了账号安全,请及时绑定邮箱和手机立即绑定

使用pyhdf时如何处理py2和py3中不同类型的np.array(list)?

使用pyhdf时如何处理py2和py3中不同类型的np.array(list)?

浮云间 2021-07-16 18:02:51
我想通过pyhdf在hdf中保存一些东西作为变量。这是我的代码:import numpy as npfrom pyhdf.SD import *var = 'PRESSURE_INDEPENDENT_SOURCE'vartype = 4hdf4 =  SD('./a.hdf', 2 | 4)dset = hdf4.create(var, vartype, (1,13))a = 'AFGL_1976'b = np.array([list(a.ljust(13))])dset[:] = b它适用于 py2 并且b.type是|S1.但是,b.dtype是<U1在PY 3和运行我的代码的最后一排,当我得到这个错误:TypeError: Cannot cast array data from dtype('<U1') to dtype('S1') according to the rule 'safe'如果我b = b.astype('S1')在 py3 中添加,也会出现同样的错误。但是,b.dtype是|S1。
查看完整描述

1 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

尝试:

b = np.array(list(a.ljust(13)),dtype='S1')


查看完整回答
反对 回复 2021-07-27
  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信