Транспонирование, вращение и объединение 2D массивов в Python - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть 2D-массив, и его размер составляет 93 X 93.

import numpy as np
import matplotlib.pyplot as plt

size = 93

arr2D = np.eye(size, size, dtype=float)
for i in range(size):
    for j in range(size):
        arr2D[i][j] = np.arctan((i+1)/(j+1))

arr2D = np.cos(arr2D)

plt.imshow(arr2D)
plt.colorbar(fraction=0.0455)
plt.show()

enter image description here

Я хотел бы создать 4 одинаковых массива, транспонировать и объединить их (размер: 186 X 186), чтобы они выглядели как на рисунке ниже, как я могу это сделать?

enter image description here

1 Ответ

3 голосов
/ 28 апреля 2020

вы можете использовать np.flipud и np.fliplr для переворачивания и np.vstack и np.c_ для укладки

stacked_arr = np.c_[np.fliplr(arr2D),arr2D]
stacked_arr_flipped = np.flipud(np.c_[np.fliplr(arr2D),arr2D])
new_arr = np.vstack((stacked_arr_flipped ,stacked_arr ))

plt.imshow(new_arr)
plt.colorbar(fraction=0.0455)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...