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

获取recarray属性/列python

发布时间:2020-12-16 23:00:38 所属栏目:Python 来源:网络整理
导读:我正在尝试检索重新排列的列标题,并遇到相当大的麻烦.如果我使用pylab的csv2rec函数读入.csv文件,我可以通过以下方式访问列标题: from pylab import csv2recx = csv2rec(file.csv)x.column1x.column2 其中’column1’是第一列的标题,它将返回列中的其余值.
我正在尝试检索重新排列的列标题,并遇到相当大的麻烦.如果我使用pylab的csv2rec函数读入.csv文件,我可以通过以下方式访问列标题:
from pylab import csv2rec
x = csv2rec(file.csv)
x.column1
x.column2

其中’column1’是第一列的标题,它将返回列中的其余值.但是,我正在读一个.csv文件,其中我不知道列标题的所有值是什么,我希望能够访问它们(循环或设置列表).这似乎应该很简单.有任何想法吗?

解决方法

您可以使用x.dtype.names:
>>> import numpy as np

>>> a = np.array([0.1,0.2])
>>> b = np.array([0.3,0.4])
>>> dtype = {'names' : ['a','b'],'formats' : ['f8','f8']}
>>> c = np.rec.fromarrays([a,b],dtype = dtype)
>>> c
rec.array([(0.1,0.3),(0.2,0.4)],dtype=[('a','<f8'),('b','<f8')])
>>> print c.dtype.names
('a','b')

或者,使用您的示例:

[physics@aurora ~/calc ]$cat csv.dat 
a,b
0.1,0.3
0.2,0.4

In [1]: from pylab import csv2rec

In [2]: x = csv2rec('csv.dat')

In [3]: for name in x.dtype.names:
   ...:         print name
a
b

(编辑:李大同)

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

    推荐文章
      热点阅读