是否有更多的Pythonic /优雅方式来扩展Numpy阵列的尺寸?

时间:2016-10-16 10:23:25

标签: python arrays numpy multidimensional-array

我现在要做的是:

x = x[:, None,  None,  None,  None,  None,  None,  None,  None,  None]

基本上,我想将我的Numpy数组扩展为9维。或者可能事先不知道N的N个维度!

有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

另一种方法可以是DV.RowFilter = string.Format("[Approved Contracts] LIKE '%{0}%'", txtBoxSearch.Text); -

reshaping

因此,基本上对于与单身尺寸相对应的x.reshape((-1,) + (1,)*N) # N is no. of dims to be appended ,我们在这些颜色上使用长度为None's的形状。对于第一个轴,我们使用1的形状来将所有元素推入其中。

示例运行 -

-1

答案 1 :(得分:0)

要缩写表达式(并使其适用于在运行时选择的任意维度),您可以即时生成索引:

x = x[(slice(None),)+(None,)*9]

如果你想把你的切片放到不同的位置,可以相应地调整索引元组。

请注意,性能不会有任何好处。这只是更简洁的写作,甚至可能比写出Nones

更难读

此外,reshape 解决方案具有类似的性能。