我有一个3x3形状的数组,看起来像:
import numpy as np
A = np.array(([1,2,3],[11,12,5],[4,9,1]))
>>> A
array([[ 1, 2, 3],
[11, 12, 5],
[ 4, 9, 1]])
我想一次重新匹配一列3次,以便我可以实现以下目标:
B
array([[ 1, 1, 1, 2, 2, 2, 3, 3, 3],
[11, 11, 11, 12, 12, 12, 5, 5, 5],
[ 4, 4, 4, 9, 9, 9, 1, 1, 1]])
我可以为每个列和repmat做一个循环,但我正在寻找更聪明的方法,因为我的真实数组的大小为5000x300
答案 0 :(得分:2)
这是numpy.repeat
的工作。引用文档中的示例:
scala> implicit def ItAr2ItIt[T](ItAr: Iterable[Array[T]]): Iterable[Iterable[T]] = ItAr.map(_.toIterable)
ItAr2ItIt: [T](ItAr: Iterable[Array[T]])Iterable[Iterable[T]]
scala> def f3(o:Iterable[Iterable[Any]]):Unit = println("I like what I see!")
f3: (o: Iterable[Iterable[Any]])Unit
scala> val v3 = Iterable(Array(123))
v3: Iterable[Array[Int]] = List(Array(123))
scala> f3(v3)
I like what I see!