Функция np.savext() предназначена для сохранения двумерных массивов в текстовый файл, что позволяет эффективно хранить и совместно использовать данные. Он предоставляет ряд параметров для управления форматом, разделителем, заголовком и другими аспектами выходного файла.

Содержание

В синтаксисе

Основной синтаксис функции np.savext() в Python следующий:

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ')

В параметрах

Здесь:

  1. fname: имя файла или дескриптор файла. Если имя файла заканчивается на .gz, файл автоматически сохраняется в сжатом формате gzip.
  2. X: Массив, который нужно сохранить. Это должен быть 2D-массив в Python.
  3. fmt: строка формата или последовательность строк формата, управляющая форматом отдельных столбцов.
  4. separator: строка или символ, разделяющий столбцы.
  5. new line: строка или символ, разделяющий строки.
  6. heading: строка, которая будет записана в начале файла.
  7. footer: строка, которая будет записана в конце файла.
  8. Comments: строка, которая будет добавлена к строкам верхнего и нижнего колонтитула, чтобы пометить их как комментарии.

Возвращаемые значения

Функция np.savext() в Python не возвращает значение, а записывает массив в файл в указанном формате.

Давайте рассмотрим некоторые варианты использования функции np.savext() в Python.

1. Функция np savetxt

Функция np.savext() в Python используется для сохранения данных двумерного массива NumPy в текстовый файл.

Используются настройки по умолчанию, что означает, что данные форматируются как числа с плавающей запятой и разделяются пробелами.

import numpy as np

temperature_data = np.array([[58, 62], [60, 64], [59, 65], [61, 66], [63, 68], [65, 70], [66, 71]])
np.savetxt('nyc_temperature_data.txt', temperature_data)

with open('nyc_temperature_data.txt', 'r') as file:
    nyc_temp_data = file.read()
    print("New York City Temperature Data:\n", nyc_temp_data)

Выход:

New York City Temperature Data:
 5.800000000000000000e+01 6.200000000000000000e+01
6.000000000000000000e+01 6.400000000000000000e+01
5.900000000000000000e+01 6.500000000000000000e+01
6.100000000000000000e+01 6.600000000000000000e+01
6.300000000000000000e+01 6.800000000000000000e+01
6.500000000000000000e+01 7.000000000000000000e+01
6.600000000000000000e+01 7.100000000000000000e+01

Ниже показан снимок экрана, на котором запечатлен результат выполнения кода в редакторе PyCharm.

1. Функция np savetxt 

2. Функция savetxt в NumPy с указанием формата

Данные массива сохраняются в текстовый файл, но со спецификатором формата %d, что означает, что каждое число сохраняется как целое число. Это изменяет представление с плавающей запятой по умолчанию на целочисленный формат.

import numpy as np

stock_prices = np.array([[152.35], [153.40], [154.55], [152.75], [153.80]])
np.savetxt('stock_prices.txt', stock_prices, fmt='%.2f')

with open('stock_prices.txt', 'r') as file:
    stock_prices_data = file.read()
    print("Stock Prices Data:\n", stock_prices_data)

Выход:

Stock Prices Data:
 152.35
153.40
154.55
152.75
153.80

На следующем снимке экрана показаны результаты, полученные при выполнении кода в редакторе PyCharm.

Функция savetxt в NumPy с указанием формата

3. Функция savetxt NumPy с использованием разделителей

Массив сохраняется в текстовый файл на Python с использованием запятой в качестве разделителя между значениями в каждой строке. Это полезно для создания файлов CSV (значения, разделенные запятыми).

import numpy as np

baseball_stats = np.array([[5, 8, 0], [3, 7, 1], [6, 9, 0], [4, 6, 2]])
np.savetxt('baseball_stats.csv', baseball_stats, delimiter=',')

with open('baseball_stats.csv', 'r') as file:
    baseball_stats_data = file.read()
    print("Baseball Statistics Data:\n", baseball_stats_data)

Выход:

Baseball Statistics Data:
 5.000000000000000000e+00,8.000000000000000000e+00,0.000000000000000000e+00
3.000000000000000000e+00,7.000000000000000000e+00,1.000000000000000000e+00
6.000000000000000000e+00,9.000000000000000000e+00,0.000000000000000000e+00
4.000000000000000000e+00,6.000000000000000000e+00,2.000000000000000000e+00

После выполнения кода в Pycharm результат можно увидеть на снимке экрана ниже.

Функция savetxt NumPy с использованием разделителей

4. Заголовок savetxt

Чтобы добавить заголовок в текстовый файл, мы можем использовать функцию np.savext() в Python. Они полезны для предоставления дополнительной информации или контекста данных.

import numpy as np

demographic_data = np.array([[25, 45000], [32, 55000], [45, 62000], [29, 48000]])
np.savetxt('la_demographics.txt', demographic_data, header='Age, Income Bracket', comments='# ')

with open('la_demographics.txt', 'r') as file:
    la_demo_data = file.read()
    print("Los Angeles Demographic Data:\n", la_demo_data)

Выход:

Los Angeles Demographic Data:
 # Age, Income Bracket
2.500000000000000000e+01 4.500000000000000000e+04
3.200000000000000000e+01 5.500000000000000000e+04
4.500000000000000000e+01 6.200000000000000000e+04
2.900000000000000000e+01 4.800000000000000000e+04

Ниже приведен скриншот после реализации кода в редакторе Pycharm.

Заголовок savetxt 

5. Добавление NumPy savetxt

Обычно numpy.savext() перезаписывает существующий файл. Вместо этого, чтобы добавить данные, вам нужно открыть файл в режиме добавления и передать дескриптор файла в numpy.savext().

import numpy as np

temperature_data = np.array([[58, 62], [60, 64], [59, 65], [61, 66]])
np.savetxt('nyc_temperature_data.txt', temperature_data)

additional_data = np.array([[67, 72], [68, 73]])
with open('nyc_temperature_data.txt', 'ab') as f:
    np.savetxt(f, additional_data)

with open('nyc_temperature_data.txt', 'r') as file:
    updated_nyc_temp_data = file.read()
    print("Updated New York City Temperature Data:\n", updated_nyc_temp_data)

Выход:

Updated New York City Temperature Data:
 5.800000000000000000e+01 6.200000000000000000e+01
6.000000000000000000e+01 6.400000000000000000e+01
5.900000000000000000e+01 6.500000000000000000e+01
6.100000000000000000e+01 6.600000000000000000e+01
6.700000000000000000e+01 7.200000000000000000e+01
6.800000000000000000e+01 7.300000000000000000e+01

После реализации кода в редакторе Pycharm снимок экрана указан ниже.

 Добавление NumPy savetxt

Заключение

В этой статье представлено подробное объяснение функции np.savext() в Python, включая ее синтаксис, необходимые параметры и возвращаемые значения. Кроме того, я проиллюстрировал различные практические применения функции np.savext() в Python на нескольких примерах.

Добавить комментарий