将元组列表转换为结构化numpy数组

aph:

我有一个Num_tuples长度都相同元组列表Dim_tuple

xlist = [tuple_1, tuple_2, ..., tuple_Num_tuples]

对于确定性,假设Num_tuples=3Dim_tuple=2

xlist = [(1, 1.1), (2, 1.2), (3, 1.3)]

我想使用用户提供的列名列表和用户提供的变量类型列表转换xlist为结构化的numpy数组xarruser_namesuser_types

user_names = [name_1, name_2, ..., name_Dim_tuple]
user_types = [type_1, type_2, ..., type_Dim_tuple]

因此,在创建numpy数组时,

dtype = [(name_1,type_1), (name_2,type_2), ..., (name_Dim_tuple, type_Dim_tuple)]

在我的玩具示例中,所需的最终产品看起来像:

xarr['name1']=np.array([1,2,3])
xarr['name2']=np.array([1.1,1.2,1.3])

如何切片xlist以创建xarr没有任何循环?

hpaulj:

元组列表是向结构化数组提供数据的正确方法:

In [273]: xlist = [(1, 1.1), (2, 1.2), (3, 1.3)]

In [274]: dt=np.dtype('int,float')

In [275]: np.array(xlist,dtype=dt)
Out[275]: 
array([(1, 1.1), (2, 1.2), (3, 1.3)], 
      dtype=[('f0', '<i4'), ('f1', '<f8')])

In [276]: xarr = np.array(xlist,dtype=dt)

In [277]: xarr['f0']
Out[277]: array([1, 2, 3])

In [278]: xarr['f1']
Out[278]: array([ 1.1,  1.2,  1.3])

或名称很重要:

In [280]: xarr.dtype.names=['name1','name2']

In [281]: xarr
Out[281]: 
array([(1, 1.1), (2, 1.2), (3, 1.3)], 
      dtype=[('name1', '<i4'), ('name2', '<f8')])

http://docs.scipy.org/doc/numpy/user/basics.rec.html#filling-structured-arrays

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将结构化数组转换为常规NumPy数组

将numpy数组转换为结构化数组

将2D numpy数组转换为结构化数组

将结构化的numpy数组(包含子数组)转换为pandas数据框

将结构化数组转换为numpy数组以与Scikit-Learn一起使用

将元组列表转换为numpy数组

将Numpy结构化数组转换为Pandas数据帧

从MySQL将标签列表转换为结构化数组的最佳方法?

在NumPy 1.14中将结构化数组的切片转换为常规NumPy数组

如何将元组列表转换为元组的numpy数组?

python:如何将元组列表转换为numpy数组

如何将列表列表转换为结构化dict,Python3

将未命名的规则结构化的R列表转换为已命名的R列表

Python:将任意结构化的嵌套列表转换为html

如何将结构化列表值从非托管C ++代码转换为C#?

使用JavaScript将结构化字符串转换为数组

将numpy数组转换为元组

使用Java将非结构化数据(文本)转换为结构化格式

使用 talend BigData 将半结构化数据转换为结构化数据

将结构化字符串转换为字典

Spark结构化流:将行转换为json

递归解析/将结构化文本转换为字典

将数据帧从请求转换为结构化格式

将表数据转换为xml结构化数据

将 json 格式转换为结构化数据框

将元组列表转换为允许轻松切片的数组或其他结构

如何将元组对列表列表(索引,值)转换为二维 numpy 数组

将具有各种数值数据类型的结构化数组转换为常规数组

将元组列表转换为numpy数组会产生一维