Чтобы преобразовать массив NumPy в строку в Python, мы можем использовать функцию numpy.array2string, предлагающую настраиваемые строковые представления, а встроенная функция str и numpy.array_str() обеспечивают более простые преобразования.
Для представления необработанных байтов идеально подходит numpy.ndarray.tostring. Альтернативно, json.dumps можно использовать для строк в формате JSON, а понимание списка в сочетании с функцией соединения позволяет настраивать форматирование строк.
- 1. С использованием функции np.array2string()
- 2. С помощью функции str()
- 3. С использованием функции numpy.array_str()
- 4. С использованием функции np.ndarray.tostring()
- 5. С использованием понимания списка и функции join()
- 6. С помощью функции json.dumps()
1. С использованием функции np.array2string()
Функция numpy.array2string — это простой способ преобразовать массив numpy в строку. Этот метод предоставляет различные параметры форматирования.
Эта функция преобразует массив numpy в строку в Python, сохраняя при этом структуру массива в строковом формате.
import numpy as np states = np.array(['AL', 'AK', 'AZ', 'AR', 'CA']) states_str = np.array2string(states) print(states_str) print("Type:", type(states_str))
Выход:
['AL' 'AK' 'AZ' 'AR' 'CA'] Type:
После реализации кода в редакторе Pycharm снимок экрана указан ниже.
2. С помощью функции str()
Встроенную функцию Python str() можно использовать для преобразования массива numpy в строку в Python, напрямую преобразуя строковый формат массива по умолчанию.
Например:
import numpy as np temperatures = np.array([58.7, 55.0, 77.0, 71.6, 60.8]) temp_str = str(temperatures) print(temp_str) print("Type:", type(temp_str))
Выход:
[58.7 55. 77. 71.6 60.8] Type:
Ниже приведен скриншот после реализации кода в редакторе Pycharm.
3. С использованием функции numpy.array_str()
Функция np.array_str() предназначена для преобразования массива NumPy в строку в Python.
Например:
import numpy as np populations = np.array([8.4, 3.9, 2.7, 1.5, 0.6]) pop_str = np.array_str(populations) print(pop_str) print("Type:", type(pop_str))
Выход:
[8.4 3.9 2.7 1.5 0.6] Type:
После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.
4. С использованием функции np.ndarray.tostring()
Метод массива np.ndarray.tostring() позволяет преобразовать массив numpy в строку в Python.
Однако этот метод преобразует массив не в удобочитаемую строку, а в строку, представляющую необработанные байты в массиве.
import numpy as np usa_flag = np.array([[1, 0, 1], [0, 1, 0], [1, 0, 1]], dtype=np.uint8) flag_str = usa_flag.tostring() print(flag_str) print("Type:", type(flag_str))
Выход:
b'\x01\x00\x01\x00\x01\x00\x01\x00\x01' Type: C:\Users\kumar\PycharmProjects\pythonProject1\main.py:4: DeprecationWarning: tostring() is deprecated. Use tobytes() instead. flag_str = usa_flag.tostring()
После запуска кода в Pycharm результат запечатлен на снимке экрана, представленном ниже.
5. С использованием понимания списка и функции join()
Мы можем использовать понимание списка вместе с методом объединения строк. Этот метод особенно полезен при работе с массивами строк или когда нам нужно определенное форматирование.
Этот подход сначала преобразует каждый элемент массива в строку, используя понимание списка, а затем объединяет эти строки в одну строку, разделенную запятыми.
import numpy as np scores = np.array([24, 17, 31, 20, 27]) scores_str = ', '.join([str(score) for score in scores]) print(scores_str) print("Type:", type(scores_str))
Выход:
24, 17, 31, 20, 27 Type:
Ниже приведен снимок экрана, демонстрирующий результат реализации кода в редакторе Pycharm.
6. С помощью функции json.dumps()
Метод json.dumps() используется для преобразования массива numpy в строку в формате JSON, что включает в себя сначала преобразование массива в список Python.
Например:
import numpy as np import json gdp = np.array([2.1e12, 3.2e12, 1.8e12, 2.9e12]) gdp_str = json.dumps(gdp.tolist()) print(gdp_str) print("Type:", type(gdp_str))
Выход:
[2100000000000.0, 3200000000000.0, 1800000000000.0, 2900000000000.0] Type:
После выполнения кода в редакторе Pycharm ниже отображается снимок экрана результата.