gpt4 book ai didi

python - 如何在Python中定义一个具有不同列值类型的矩阵或二维数组并有效地检索列

转载 作者:行者123 更新时间:2023-11-30 23:05:13 25 4
gpt4 key购买 nike

根据这篇文章How to define two-dimensional array in python,

我们可以创建一个二维数组 var

Matrix = [[0 for x in range(5)] for x in range(5)]

numpy.zeros((5, 5))

看来这个矩阵中的值类型是相同的。 我说得对吗?

现在,我想要一个像这样的矩阵

matrix = 
[[ 0, ['you', 'are', 'here']],
[ 1, ['you', 'are', 'here']],
...
]

还可以得到第0列的结果是[0, 1, ...]第1列的结果是[['你', '是', '这里'], ['你', '是', '这里']].

这在 Python 中可能吗?如果可以,如何高效实现?

最佳答案

您可以使用np.repeatarray.T方法:

>>> np.array((np.arange(N),np.repeat([test],N,axis=0)),dtype=object).T
array([[0, array(['you', 'are', 'here'],
dtype='|S4')],
[1, array(['you', 'are', 'here'],
dtype='|S4')],
[2, array(['you', 'are', 'here'],
dtype='|S4')],
[3, array(['you', 'are', 'here'],
dtype='|S4')],
[4, array(['you', 'are', 'here'],
dtype='|S4')],
[5, array(['you', 'are', 'here'],
dtype='|S4')],
[6, array(['you', 'are', 'here'],
dtype='|S4')],
[7, array(['you', 'are', 'here'],
dtype='|S4')],
[8, array(['you', 'are', 'here'],
dtype='|S4')],
[9, array(['you', 'are', 'here'],
dtype='|S4')]], dtype=object)
>>>

或者在 python 中使用 itertools.repreatzip :

>>> from itertools import repeat
>>> N=10
>>> test=['you', 'are', 'here']
>>>
>>> np.array(zip(range(N),repeat(test,N)),dtype=object)
array([[0, ['you', 'are', 'here']],
[1, ['you', 'are', 'here']],
[2, ['you', 'are', 'here']],
[3, ['you', 'are', 'here']],
[4, ['you', 'are', 'here']],
[5, ['you', 'are', 'here']],
[6, ['you', 'are', 'here']],
[7, ['you', 'are', 'here']],
[8, ['you', 'are', 'here']],
[9, ['you', 'are', 'here']]], dtype=object)

关于python - 如何在Python中定义一个具有不同列值类型的矩阵或二维数组并有效地检索列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278343/

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