gpt4 book ai didi

python - 在字典中连接数组

转载 作者:行者123 更新时间:2023-12-01 05:38:47 25 4
gpt4 key购买 nike

假设我有一个包含 100 个键的 Python 字典。对于每个键,字典都保存一个二维数组。

所有这些二维数组都具有相同的行数。如何沿列轴将这些数组有效地连接到最终的二维数组中?

为此值得通过 Pandas 吗?如果是这样,怎么办?

例如

from collections import OrderedDict()
dct = OrderedDict()
for key in xrange(3):
dct[key] = np.random.randint(3,size=(2,np.random.randint(10)))

# Print the dictionary:
> dict(dct)
{0: array([[1, 0, 2, 2, 2, 1, 0],
       [1, 2, 2, 1, 1, 1, 0]]),
 1: array([[2, 1, 0, 1, 1],
       [1, 1, 2, 2, 2]]),
 2: array([[2],
       [0]])}

连接的结果应该是:

 array([[1, 0, 2, 2, 2, 1, 0, 2, 1, 0, 1, 1, 2],
    [1, 2, 2, 1, 1, 1, 0, 1, 1, 2, 2, 2, 0]])

最佳答案

hstack 功能正是您想要的。

由于您有一个无序的字典,但键中有隐含的顺序,您可能需要这样:

>>> dct
defaultdict(<built-in function array>, {0: array([[0, 1, 2, 0, 2, 2, 0],
[0, 0, 0, 2, 0, 0, 2]]), 1: array([[0, 1, 2, 0, 0],
[0, 0, 1, 2, 2]]), 2: array([[1, 1, 0, 0],
[0, 1, 1, 2]])})
>>> np.hstack(dct[k] for k in sorted(dct))
array([[0, 1, 2, 0, 2, 2, 0, 0, 1, 2, 0, 0, 1, 1, 0, 0],
[0, 0, 0, 2, 0, 0, 2, 0, 0, 1, 2, 2, 0, 1, 1, 2]])
<小时/>

现在您已将问题更改为使用 OrderedDict而不是defaultdict ,您已经拥有正确顺序的值,因此您当然可以只使用 dct.values()相反。

关于python - 在字典中连接数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18198942/

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