将数组馈送到numpy meshgrid

时间:2018-04-03 17:05:14

标签: python arrays numpy vectorization

meshgrid似乎是以这样一种方式编码的,即网格网格的每个维度都必须单独命名(例如xy

xv, yv = np.meshgrid(x, y)

我想知道我是否可以同样只提供包含x和y的数组,可能会设置meshgrid的一些选项来指示它以我需要的方式使用数组。

我想这样做是因为当必须构建网格网格的维数很大或者先验不知道时,它会让生活变得更容易。

所以问题是

np.meshgrid([1,2],[10,20])

给出

[array([[1, 2],
        [1, 2]]), array([[10, 10],
        [20, 20]])]

而我喜欢

之类的东西
np.meshgrid([[1,2],[10,20]])

但这会产生无用的一维数组。

我在doc

中找不到任何有用的选项

1 个答案:

答案 0 :(得分:1)

解压缩参数列表的情况,你在python中使用*-operator

lst = [[1,2],[10,20]]
np.meshgrid(*lst)

#[array([[1, 2],
#        [1, 2]]), array([[10, 10],
#        [20, 20]])]