基于索引的numpy整形

2024-10-03 23:26:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数组:

arr = [
  ['00', '01', '02'],
  ['10', '11', '12'],
]

我想根据数组的索引来重塑它:

^{pr2}$

有没有一种numpypandas的方法来做到这一点?还是我要做老好人for?在

for x, arr_x in enumerate(arr):
    for y, val in enumerate(arr_x):
        print(x, y, val)

Tags: 方法innumpypandasforval数组print
2条回答

您可以使用np.indices获取索引,然后将所有内容缝合在一起。。。在

arr = np.array(arr)
i, j = np.indices(arr.shape)
np.concatenate([i.reshape(-1, 1), j.reshape(-1, 1), arr.reshape(-1, 1)], axis=1)

为此,我将使用numpy.ndenumerate,方法如下:

import numpy as np
arr = np.array([['00', '01', '02'],['10', '11', '12']])
output = [[*inx,x] for inx,x in np.ndenumerate(arr)]
print(*output,sep='\n') # print sublists in separate lines to enhance readibility

输出:

^{pr2}$

旁注:此操作是而不是整形,因为整形意味着元素的移动,因为输出包含更多的单元,仅通过整形是不可能做到的。在

相关问题 更多 >