python构造数组并命名_Numpy数组追加命名列

np.core.records在创建和操作结构化数组方面有一些很好的函数,但是知道如何从头开始构造这样的数组也是很好的。在

您的genfromtxt已从一个包含简单字符串值列的文件中读取。我可以用字符串列表重新创建它:In [16]: data=np.genfromtxt(['Time','1.','2.','3.'],delimiter=',',names=True)

In [17]: data

Out[17]:

array([(1.0,), (2.0,), (3.0,)],

dtype=[('Time', '

In [18]: data['Time']

Out[18]: array([ 1., 2., 3.])

In [19]: data.dtype

Out[19]: dtype([('Time', '

键是从头派生的dtype,以及数据的外观。我建议从更复杂的csv文件中查看dtype。在

从零开始创建dtype有多种方法。重现这种情况的是dt = np.dtype([('Time',float)])。在

构造类似数组的一个好方法是使用np.zeros(或np.empty),指定大小和相同的dtype。创建数组后,可以逐个字段填充值。在

^{pr2}$

另一种创建结构化数组的方法是使用np.array。关键是数据必须以元组的列表形式提供。在In [22]: data1=np.array([(1,),(2,),(3,)],dtype=data.dtype)

查看np.core.records.fromrecords的代码可以看到其他几种方法。在

在最常见的情况下,如果逐行填充数组:In [26]: data3=np.zeros(3,dtype=data.dtype)

In [27]: for i,v in enumerate([1,2,3]):

....: data3[i]=(v,)

如果这些字段都有相同的数据类型,则可以使用新的dtype创建一个2d数组。在In [29]: np.array([1.,2.,3.]).view(data.dtype)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值