gpt4 book ai didi

python - 带有数字和字符串数组的 numpy.column_stack

转载 作者:行者123 更新时间:2023-11-28 21:09:01 25 4
gpt4 key购买 nike

我有几个数组,其中一些是 float ,另一些是字符串字符,所有数组的长度都相同。当我尝试在这些数组中使用 numpy.column_stack 时,此函数将 float 转换为字符串,例如:

a = np.array([3.4,3.4,6.4])
b = np.array(['holi','xlo','xlo'])

B = np.column_stack((a,b))

print B
>>> [['3.4' 'holi']
['3.4' 'xlo']
['3.4' 'xlo']

type(B[0,0])
>>> numpy.string

为什么?有可能避免吗?非常感谢您的宝贵时间。

最佳答案

最简单的结构化数组方法是使用 rec.fromarrays 函数:

In [1411]: a=np.array([3.4,3.4,6.4]); b=np.array(['holi','xlo','xlo'])
In [1412]: B = np.rec.fromarrays([a,b],names=['a','b'])
In [1413]: B
Out[1413]:
rec.array([(3.4, 'holi'), (3.4, 'xlo'), (6.4, 'xlo')],
dtype=[('a', '<f8'), ('b', '<U4')])
In [1414]: B['a']
Out[1414]: array([ 3.4, 3.4, 6.4])
In [1415]: B['b']
Out[1415]:
array(['holi', 'xlo', 'xlo'],
dtype='<U4')

查看其文档以获取更多参数。但它基本上构造了一个正确的复合 dtype 的空数组,并将您的数组复制到相应的字段。

关于python - 带有数字和字符串数组的 numpy.column_stack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38927294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com