Python-在一个填充了float的numpy数组中添加一个键(字符串)
我有一个名为a的大数组,数组的结构如下:Python-在一个填充了float的numpy数组中添加一个键(字符串),python,arrays,numpy,Python,Arrays,Numpy,我有一个名为a的大数组,数组的结构如下: [ [0.453,0.5452,0.252], [0.411,0.352,0.119], [...], ... , [...] ] 我还有一个名为B的数组,长度相同,但填充了字符串。例如: ['toto1','toto2',...,'totoN'] 现在,我想将A的每个数组与B的字符串相关联。所以要么像这样: [ ['toto1',0.453,0.5452,0.252], ['toto2',0.411,0.352,0.119], [...], ...
[ [0.453,0.5452,0.252], [0.411,0.352,0.119], [...], ... , [...] ]
我还有一个名为B的数组,长度相同,但填充了字符串。例如:
['toto1','toto2',...,'totoN']
现在,我想将A的每个数组与B的字符串相关联。所以要么像这样:
[ ['toto1',0.453,0.5452,0.252], ['toto2',0.411,0.352,0.119], [...], ... , [...] ]
或:
取决于可能做的事情和最简单的方法
首先,有可能做这种事情吗?如果是的话,你能帮我想一想怎样才能做到这一点吗
事先非常感谢
associated_dict = {k:v for k,v in [(B[i], A[i]) for i in range(len(A))]}
请注意,这两个列表必须具有相同数量的元素
请注意,这两个列表的元素数必须相同。如果要查找词典,可以使用
zip
:
dict(zip(B, A))
# {'toto1': [0.453, 0.5452, 0.252], 'toto2': [0.411, 0.352, 0.119]}
如果您正在查找词典,可以使用
zip
:
dict(zip(B, A))
# {'toto1': [0.453, 0.5452, 0.252], 'toto2': [0.411, 0.352, 0.119]}
您可以使用循环或仅使用拉链来完成:
a = [ [0.453,0.5452,0.252], [0.411,0.352,0.119]]
b = ['toto1','toto2']
res = {}
for i in range(len(a)):
res[b[i]] = a[i]
print (res)
或者以较短的方式:
dict(zip(b,a))
您可以使用循环或仅使用拉链来完成:
a = [ [0.453,0.5452,0.252], [0.411,0.352,0.119]]
b = ['toto1','toto2']
res = {}
for i in range(len(a)):
res[b[i]] = a[i]
print (res)
或者以较短的方式:
dict(zip(b,a))
这显然不是链接问题的重复,因为OP要求在numpy数组中组合字符串和数字。看看问题的标题,很明显,字典在这里只是一个退路。你说的是numpy数组,还是Python列表(of list)?区别很重要-除非您对压缩字典的构造感到满意。@hpaulj它说titlenumpy数组中的“numpy数组”不能有混合类型,除非dtype='O',这可能不是您想要的。但是,对于您特别想要做的事情,请看一下pandas数据帧。我们可以采用结构化阵列路线。这就是我们需要澄清的原因。A是2d重要吗?或者
array of array
只是一个嵌套列表的javascript对话?如果有必要的话,我可以重新打开它。这显然不是链接问题的重复,因为OP要求将字符串和数字组合在一个numpy数组中。看看问题的标题,很明显,字典在这里只是一个退路。你说的是numpy数组,还是Python列表(of list)?区别很重要-除非您对压缩字典的构造感到满意。@hpaulj它说titlenumpy数组中的“numpy数组”不能有混合类型,除非dtype='O',这可能不是您想要的。但是,对于您特别想要做的事情,请看一下pandas数据帧。我们可以采用结构化阵列路线。这就是我们需要澄清的原因。A是2d重要吗?或者array of array
只是一个嵌套列表的javascript对话?如果有问题,我可以重新打开。谢谢你的回答。如果B是一个列表?是否相同?这应该适用于列表和numpy数组。但是,根据字典值是列表还是numpy数组,它们的数据类型会有所不同。谢谢您的回答。如果B是一个列表?是否相同?这应该适用于列表和numpy数组。但是,根据字典值是列表还是numpy数组,最终会得到不同的数据类型。