python - numpy 可以像 matlab 那样解释索引列吗

标签 python matlab numpy

 mat = nan (5,4)

mat =

   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN

fact = rand(5,4)

fact =

    0.3507    0.5870    0.8443    0.4357
    0.9390    0.2077    0.1948    0.3111
    0.8759    0.3012    0.2259    0.9234
    0.5502    0.4709    0.1707    0.4302
    0.6225    0.2305    0.2277    0.1848

cd =

     1
     5
     2
     3
     4

>> mat(cd, : ) = fact

mat =

    0.3507    0.5870    0.8443    0.4357
    0.8759    0.3012    0.2259    0.9234
    0.5502    0.4709    0.1707    0.4302
    0.6225    0.2305    0.2277    0.1848
    0.9390    0.2077    0.1948    0.3111

在 python 或 numpy 中是否有类似的东西基本上做最后一行所做的事情,即你可以输入一列索引,它会自动用相应的行填充 nan 矩阵,而不是遍历它并执行这一行手动按行。

还注意到 cd 可以比 mat 有更多的行,并且 mat 可以自己相应地扩展,至少 matlab 可以。

最佳答案

您可以在 python 中完全做到这一点,只需使用基于 0 的索引而不是基于 1 的索引:

>>> m[cd-1] = fact

>>> m 
array([[ 0.3507,  0.587 ,  0.8443,  0.4357],
       [ 0.8759,  0.3012,  0.2259,  0.9234],
       [ 0.5502,  0.4709,  0.1707,  0.4302],
       [ 0.6225,  0.2305,  0.2277,  0.1848],
       [ 0.939 ,  0.2077,  0.1948,  0.3111]])

关于python - numpy 可以像 matlab 那样解释索引列吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233352/

相关文章:

python - 正则表达式在 python 中拆分电子邮件地址

python - 给定一个值,使用 Numpy 查找百分位数 %

c++ - matlab R2013a 和 MS VC++ 2013 之间的链接错误

带参数条件的 matlab 内联函数

python - 二维数组中索引对之间的总和

python - 为什么整数指数的 numpy.power 更慢?

python - 运行 df.columns 后显示所有列

生成主对角线上方为 1 的对角矩阵的 Python 代码

python - 如何使用 YouTube API v3 和 Python 从视频中获取评论?

matlab - 将带有 Simscape 模块的 Simulink 模型从 R2015b 导出到 R2015a 时如何解决此兼容性问题