@ odpowiedź KennyTM jest bardzo śliski, i naprawdę działa w Twoim przypadku, ale jako alternatywa, która może zaoferować nieco większą elastyczność rozbudowy tablice spróbować np.repeat
:
>>> a = np.array([[1, 5, 9],
[2, 7, 3],
[8, 4, 6]])
>>> np.repeat(a,2, axis=1)
array([[1, 1, 5, 5, 9, 9],
[2, 2, 7, 7, 3, 3],
[8, 8, 4, 4, 6, 6]])
Tak, ten realizuje powtarzania wzdłuż jedna oś, aby ją wzdłuż wielu osi (jak możesz), po prostu zagnieździć np.repeat
rozmowy:
>>> np.repeat(np.repeat(a,2, axis=0), 2, axis=1)
array([[1, 1, 5, 5, 9, 9],
[1, 1, 5, 5, 9, 9],
[2, 2, 7, 7, 3, 3],
[2, 2, 7, 7, 3, 3],
[8, 8, 4, 4, 6, 6],
[8, 8, 4, 4, 6, 6]])
można także zmienić liczbę powtórzeń fo r dowolny początkowy wiersz lub kolumnę. Na przykład, jeśli chcesz dwa powtórzenia każdego rzędu oprócz ostatniego wiersza:
>>> np.repeat(a, [2,2,1], axis=0)
array([[1, 5, 9],
[1, 5, 9],
[2, 7, 3],
[2, 7, 3],
[8, 4, 6]])
Oto gdy drugi argument jest list
określa rzędu mądry (wiersze, w tym przypadku, ponieważ axis=0
) powtarza się dla każdego wiersza .
https: //docs.scipy. org/doc/numpy/reference/generated/numpy.repeat.html –