小编joe*_*pjp的帖子

如何确定numpy-array重塑策略

对于python项目,我经常发现自己正在重塑和重新排列n维numpy数组.但是,我很难确定如何处理问题,可视化重塑方法结果的结果,并且知道我的解决方案是有效的.

在遇到这样的问题的那一刻,我的策略是启动ipython,加载一些样本数据并进行反复试验,直到找到transpose()s,reshape()和swapaxes()的组合.获得了理想的结果.它完成了工作,但没有真正了解正在发生的事情,并且经常产生难以维护的代码.

所以,我的问题是找到一个策略.你怎么处理这样的问题?当你必须以所需的格式塑造它时,你如何想象你头脑中的ndarray?你是如何做出正确的行动的?

为了使回答更具体,一个例子:

假设您要重塑以下3d数组

array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8]],

       [[ 9, 10, 11],
        [12, 13, 14],
        [15, 16, 17]],

       [[18, 19, 20],
        [21, 22, 23],
        [24, 25, 26]]])
Run Code Online (Sandbox Code Playgroud)

到2d阵列,其中第三维的第一列放在第一,第二列放在第二,......等

结果应如下所示:

array([[ 0,  9, 18,  3, 12, 21,  6, 15, 24],
       [ 1, 10, 19,  4, 13, 22,  7, 16, 25],
       [ 2, 11, 20,  5, 14, 23,  8, 17, 26]])
Run Code Online (Sandbox Code Playgroud)

PS.关于这个主题的任何阅读材料都会很棒!

python arrays numpy

7
推荐指数
1
解决办法
610
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1