2016-06-20 11 views
0

mit habe ich eine Reihe von Form 3x3, die wie etwas aussieht:Python Erzeugungs repmat jede Spalte einzeln

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]]) 

Ich möchte für 3-mal eine Spalte zu einer Zeit, repmat so dass ich folgendes erreichen:

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]]) 

ich eine Schleife für jede Spalte tun kann und repmat, aber ich für intelligentere Art und Weise suchen sie als mein wirkliches Leben Array zu tun hat Größe 5000x300

Antwort

2

Dies ist die Aufgabe vonist. Zitieren eines Beispiels aus der Dokumentation:

>>> x = np.array([[1,2],[3,4]]) 
>>> np.repeat(x, 3, axis=1) 
array([[1, 1, 1, 2, 2, 2], 
     [3, 3, 3, 4, 4, 4]]) 
Verwandte Themen