首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用pyhdf时,如何处理np.array(list)在py2和py3中的不同类型?

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

Stack Overflow用户
提问于 2018-10-22 14:24:03
回答 1查看 38关注 0票数 0

我希望通过pyhdf将某些内容保存为hdf中的变量。

这是我的密码:

代码语言:javascript
复制
import numpy as np
from pyhdf.SD import *

var = 'PRESSURE_INDEPENDENT_SOURCE'
vartype = 4

hdf4 =  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在py3中是<U1,在运行我的最后一行代码时我得到了这个错误:

代码语言:javascript
复制
TypeError: Cannot cast array data from dtype('<U1') to dtype('S1') according to the rule 'safe'

如果我在b = b.astype('S1')中添加py3,也会出现同样的错误。但是,b.dtype|S1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-23 02:42:17

尝试:

代码语言:javascript
复制
b = np.array(list(a.ljust(13)),dtype='S1')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52931670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档