加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 访问结构化数组的NumPy数组的列

发布时间:2020-12-20 13:18:50 所属栏目:Python 来源:网络整理
导读:我得到了一个多维的numpy数组,x看起来像这样: array([ array([ 398.24475098,-196.1497345,-110.79341125,...,-1937.22399902,-6158.89355469,1742.84399414],dtype=float32),array([ 32.27750397,-171.73371887,-342.6328125,-4727.4296875,-2545.10375977
我得到了一个多维的numpy数组,x看起来像这样:

array([ array([  398.24475098,-196.1497345,-110.79341125,...,-1937.22399902,-6158.89355469,1742.84399414],dtype=float32),array([   32.27750397,-171.73371887,-342.6328125,-4727.4296875,-2545.10375977],array([  785.83660889,-234.88890076,140.49914551,-7982.19482422,-2127.640625,-1434.77160645],array([   181.93313599,-146.41413879,-416.02978516,-4517.796875,10491.84570312,-6604.39550781],array([ -1.37602341e+02,1.71733719e+02,7.13068867e+00,8.60104688e+03,1.39115127e+04,3.31622314e+03],array([   453.17272949,152.49285889,260.41452026,19061.60742188,11232.8046875,7312.13964844],dtype=float32)],dtype=object)

我正在尝试访问每一列(特别是我试图获取每列的标准偏差).我找到了this answer,我试过了,

>>> x[:,0]

但是这返回了一个错误:

Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
IndexError: too many indices for array

是否可以将此结构化数组转换为简单的2D numpy数组来访问列?或者有直接访问这些列的好方法吗?

谢谢!

编辑

有关此阵列的更多信息:

>>> x.shape
(8685,)
>>> x[0].shape  # Same for x[1],x[2],...
(3524,)

如果有任何帮助,我使用root_numpy包中的tree2array函数来生成这个数组.

解决方法

不确定你是怎么做的,但它似乎对我有用
直接从提示

a=np.zeros((2,6),dtype=np.float32)
>>> a
array([[ 0.,0.,0.],[ 0.,0.]],dtype=float32)
>>> a[:,2]=1
>>> a
array([[ 0.,1.,dtype=float32)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读