Как в numpy изменить массив?

Пользователь

от velma , в категории: Python , год назад

Как в numpy изменить массив?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elissa , год назад

@velma 

В библиотеке NumPy можно изменить массив, используя различные методы и функции. Вот некоторые из них:

  1. Изменение размера массива: reshape: изменяет размерность массива без изменения его данных. resize: изменяет размерность массива и изменяет его данные при необходимости.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import numpy as np

arr = np.arange(9)
print(arr)   # [0 1 2 3 4 5 6 7 8]

new_arr = arr.reshape((3, 3))
print(new_arr)
"""
[[0 1 2]
 [3 4 5]
 [6 7 8]]
"""

arr.resize((2, 6))
print(arr)
"""
[[0 1 2 3 4 5]
 [6 7 8 0 0 0]]
"""


  1. Изменение значений в массиве: Индексирование: можно изменить значения конкретных элементов массива, используя индексы. Блочное присваивание: можно изменить значения нескольких элементов массива сразу.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np

arr = np.arange(5)
print(arr)   # [0 1 2 3 4]

arr[2] = 10
print(arr)   # [ 0  1 10  3  4]

arr[1:4] = 20
print(arr)   # [ 0 20 20 20  4]


  1. Изменение типа массива: astype: создает новый массив с измененным типом данных.


Пример:

1
2
3
4
5
6
7
8
9
import numpy as np

arr = np.array([1, 2, 3], dtype=np.int32)
print(arr)                    # [1 2 3]
print(arr.dtype)              # int32

arr_float = arr.astype(np.float32)
print(arr_float)              # [1. 2. 3.]
print(arr_float.dtype)        # float32


Это только некоторые из способов изменения массивов в NumPy. Более подробную информацию вы можете найти в документации NumPy.

Пользователь

от hermina.hauck , 7 месяцев назад

@velma 

Вот еще некоторые способы изменения массивов в библиотеке NumPy:

  1. Изменение формы массива: transpose: транспонирует массив. flatten: преобразует многомерный массив в одномерный. Пример: import numpy as np arr = np.arange(12).reshape((3, 4)) print(arr) """ [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] """ arr_transpose = arr.transpose() print(arr_transpose) """ [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]] """ arr_flat = arr.flatten() print(arr_flat) # [ 0 1 2 3 4 5 6 7 8 9 10 11]
  2. Добавление элементов в массив: append: добавляет элемент(ы) в массив. insert: вставляет элемент(ы) в указанное место массива. Пример: import numpy as np arr = np.array([1, 2, 3]) new_arr = np.append(arr, [4, 5]) print(new_arr) # [1 2 3 4 5] arr = np.insert(arr, 1, [10, 11]) print(arr) # [ 1 10 11 2 3]
  3. Удаление элементов из массива: delete: удаляет указанные элементы массива. Пример: import numpy as np arr = np.array([1, 2, 3, 4, 5]) new_arr = np.delete(arr, [1, 3]) print(new_arr) # [1 3 5]
  4. Объединение массивов: concatenate: объединяет массивы по определенной оси. hstack и vstack: объединяют массивы горизонтально и вертикально соответственно. Пример: import numpy as np arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6]]) new_arr = np.concatenate((arr1, arr2), axis=0) print(new_arr) """ [[1 2] [3 4] [5 6]] """


Это лишь некоторые из множества способов изменения массивов в библиотеке NumPy. Вы можете использовать эти методы в зависимости от вашей конкретной задачи.