我正在寻找类似网状网格功能的清晰对比。不幸的是我找不到它!

numpy http://docs.scipy.org/doc/numpy/reference/提供

  • mgrid
  • ogrid
  • meshgrid

  • Scitools http://hplgit.github.io/scitools/doc/api/html/index.html提供
  • ndgrid
  • boxgrid

  • 理想情况下,总结所有这些的表格将是完美的!

    最佳答案

    numpy.meshgrid是根据Matlab的meshgrid命令建模的。它用于向量化两个变量的函数,以便您可以编写

    x = numpy.array([1, 2, 3])
    y = numpy.array([10, 20, 30])
    XX, YY = numpy.meshgrid(x, y)
    ZZ = XX + YY
    
    ZZ => array([[11, 12, 13],
                 [21, 22, 23],
                 [31, 32, 33]])
    

    因此,ZZ包含函数中包含的xy的所有组合。考虑一下,对于numpy数组,meshgrid有点多余,因为它们会广播。这意味着你可以做
    XX, YY = numpy.atleast_2d(x, y)
    YY = YY.T # transpose to allow broadcasting
    ZZ = XX + YY
    

    并得到相同的结果。
    mgridogrid是使用索引表示法的帮助程序类,因此您可以直接在前面的示例中创建XXYY,而不必使用类似linspace的东西。生成输出的顺序相反。
    YY, XX = numpy.mgrid[10:40:10, 1:4]
    ZZ = XX + YY # These are equivalent to the output of meshgrid
    
    YY, XX = numpy.ogrid[10:40:10, 1:4]
    ZZ = XX + YY # These are equivalent to the atleast_2d example
    

    我对scitools的东西并不熟悉,但是ndgrid似乎等同于meshgrid,而BoxGrid实际上是帮助此类生成的整个类。

    关于python - Python中的网格工具(meshgrid mgrid ogrid ndgrid),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12402045/

    10-12 17:02