Поверните массив значений вокруг правого нижнего угла в Python

Прочитайте этот и этот ? Лучшей реализацией будет

var result = new StringBuilder();
for (int i = 0; i < table.Columns.Count; i++)
{
    result.Append(table.Columns[i].ColumnName);
    result.Append(i == table.Columns.Count - 1 ? "\n" : ",");
}

foreach (DataRow row in table.Rows)
{
    for (int i = 0; i < table.Columns.Count; i++)
    {
        result.Append(row[i].ToString());
        result.Append(i == table.Columns.Count - 1 ? "\n" : ",");
    }
}
 File.WriteAllText("test.csv", result.ToString());

0
задан Ren 16 January 2019 в 16:53
поделиться

2 ответа

Ну, не имеет значения, поворачиваете ли вы массив вокруг правого нижнего угла, верхнего левого угла или любой другой точки: все это просто вращения . Единственный аспект, который имеет большее значение, это направление, в котором вы хотите, чтобы массив вращался по часовой стрелке или против часовой стрелки, и, фактически, вы можете получить один, используя другой: поворот на 90 градусов по часовой стрелке - это то же самое, что поворот на 270 градусов. в противоположном направлении.

Если вы хотите повернуть массив на 90 градусов по часовой стрелке , используйте np.rot90, но скажите numpy, чтобы повернуть массив 3 раза, и, если вы хотите , повернуть массив 90 градусов против часовой стрелки использовать np.rot90, передавая 1 или ничего (кроме массива, конечно):

np.rot90(array)    # 90 deg CCW
np.rot90(array, 1) # 90 deg CCW
np.rot90(array, 3) # 90 deg CW

Пример

import numpy as np

array = np.arange(15).reshape((3, 5))

print(array)

print(np.rot90(array, 1))
print(np.rot90(array, 3))

Исходный массив [ 1110]
array([
    [ 0,  1,  2,  3,  4],
    [ 5,  6,  7,  8,  9],
    [10, 11, 12, 13, 14]
])

Поворот 1 раз (на 90 градусов против часовой стрелки)

array([
    [ 4,  9, 14],
    [ 3,  8, 13],
    [ 2,  7, 12],
    [ 1,  6, 11],
    [ 0,  5, 10]
])

Поворот 3 раза (на 90 градусов по часовой стрелке)

array([
    [10,  5,  0],
    [11,  6,  1],
    [12,  7,  2],
    [13,  8,  3],
    [14,  9,  4]
])
0
ответ дан Josué Cortina 16 January 2019 в 16:53
поделиться

Используйте np.swapaxes ():

>>> x = np.array([[1,2,3]])
>>> np.swapaxes(x,0,1)
array([[1],
       [2],
       [3]])
0
ответ дан Filipe Aleixo 16 January 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: