TabularDataset Класс

Набор табличных данных для использования в Машинном обучении Microsoft Azure.

TabularDataset определяет ряд неактивно оцениваемых, неизменяемых операций для загрузки данных из источника данных в табличное представление. Данные не загружаются из источника, пока TabularDataset не получит запрос на доставку данных.

TabularDataset создается с помощью таких методов, как from_delimited_files из класса TabularDatasetFactory.

Дополнительные сведения см. в статье Добавление наборов данных & регистрации. Чтобы приступить к работе с табличным набором данных, перейдите по ссылке https://aka.ms/tabulardataset-samplenotebook.

Инициализация объекта TabularDataset.

Этот конструктор не должен вызываться напрямую. Набор данных предназначен для создания с помощью TabularDatasetFactory класса .

Наследование
TabularDataset

Конструктор

TabularDataset()

Комментарии

Объект TabularDataset можно создать из CSV-, TSV- или Parquet-файлов либо с помощью SQL-запроса на основе методов from_* класса TabularDatasetFactory. С объектами TabularDataset можно выполнять операции разбиения, такие как разделение, пропуск и фильтрация записей. Результатом разбиения всегда является один или несколько новых объектов TabularDataset.

Кроме того, можно преобразовать объект TabularDataset в другие форматы, например в кадр данных pandas. Фактическая загрузка данных происходит, когда объект TabularDataset получает запрос на доставку данных в другой механизм хранения (например, кадр данных pandas или CSV-файл).

Объект TabularDataset можно использовать в качестве входных данных для запуска эксперимента. Его также можно зарегистрировать в рабочей области с заданным именем, а затем извлечь по этому имени.

Методы

download

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Скачивает потоки файлов, определенные наборами данных, в расположение по локальному пути.

drop_columns

Удаляет указанные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

filter

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

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

get_profile

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Получает профиль данных из последнего выполнения профиля, отправленного для этого или того же набора данных в рабочей области.

get_profile_runs

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает предыдущие выполнения профиля, связанные с этим или тем же набором данных в рабочей области.

keep_columns

Сохраняет указанные столбцы и удаляет все остальные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

mount

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

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

partition_by

Секционированные данные будут скопированы и выведены в место назначения, заданное целевым объектом.

Создает набор данных на основе пути к выводимым данным с использованием формата секции, регистрирует набор данных, если указано имя, возвращает набор данных для нового пути к данным с секциями


   ds = Dataset.get_by_name('test') # indexed by country, state, partition_date

   # #1: call partition_by locally
   new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
               target=DataPath(datastore, "repartition"))
   partition_keys = newds.partition_keys # ['country']

   # new_ds can be passed to PRS as input dataset
random_split

Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.

Первый набор данных содержит около percentage всех записей, а второй набор данных — остальные записи.

skip

Пропускает указанное число записей в начале набора данных.

submit_profile_run

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Отправляет выполнение эксперимента для вычисления профиля данных.

Профиль данных может быть очень полезен для понимания входных данных, выявления аномалий и отсутствующих значений. Он предоставляет полезную информацию о данных, например тип столбца, отсутствующие значения и т. д.

take

Получает выборку с указанным числом записей из начала набора данных.

take_sample

Получает случайную выборку записей из набора данных приблизительно с заданной вероятностью.

time_after

Фильтрация TabularDataset с помощью столбцов метки времени после указанного времени начала.

time_before

Выполняет фильтрацию TabularDataset с помощью столбцов метки времени до указанного времени окончания.

time_between

Выполняет фильтрацию TabularDataset между указанным временем начала и окончания.

time_recent

Фильтрует TabularDataset, чтобы этот объект содержал только последние данные за указанный период.

to_csv_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий CSV-файлы.

Результирующий набор данных будет содержать один или несколько CSV-файлов, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_dask_dataframe

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает кадр данных Dask, который может считывать данные в наборе данных в неактивном режиме.

to_pandas_dataframe

Загружает все записи из набора данных в кадр данных pandas.

to_parquet_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий файлы Parquet.

Результирующий набор данных будет содержать один или несколько файлов Parquet, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_spark_dataframe

Загружает все записи из набора данных в кадр данных Spark.

with_timestamp_columns

Определяет столбцы меток времени для набора данных.

download

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Скачивает потоки файлов, определенные наборами данных, в расположение по локальному пути.

download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)

Параметры

stream_column
str
Обязательно

Столбец потоковой передачи для скачивания.

target_path
str
Обязательно

Локальный каталог для скачивания файлов. Если он не указан, данные будут скачаны во временный каталог.

overwrite
bool
Обязательно

Указывает, следует ли перезаписывать существующие файлы. Значение по умолчанию — False. Существующие файлы будут перезаписаны, если для параметра перезаписи задано значение True; в противном случае будет вызвано исключение.

ignore_not_found
bool
Обязательно

Указывает, следует ли завершить скачивание ошибкой, если не найдены некоторые файлы, на которые указывает набор данных. Значение по умолчанию равно True. Если для ignore_not_found задано значение False, скачивание завершится ошибкой при сбое скачивания любого файла по какой-либо причине. В противном случае в журнал будет занесено предупреждение о том, что ошибки не найдены, а скачивание будет успешным, если не возникнут ошибки других типов.

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

Возвращает массив путей файла для каждого скачанного файла.

Возвращаемый тип

drop_columns

Удаляет указанные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

drop_columns(columns)

Параметры

columns
Union[str, list[str]]
Обязательно

Имя или список имен столбцов для удаления.

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

Возвращает новый объект TabularDataset с удаленными указанными столбцами.

Возвращаемый тип

filter

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

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

filter(expression)

Параметры

expression
any
Обязательно

Выражение для вычисления.

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

Измененный набор данных (регистрация отменена).

Возвращаемый тип

Комментарии

Выражения запускаются путем индексирования Dataset с именем столбца. Они поддерживают различные функции и операторы, а также могут объединяться с помощью логических операторов. Результирующее выражение будет вычисляться в неактивном режиме для каждой записи при извлечении данных, а не там, где оно определено.


   dataset['myColumn'] > dataset['columnToCompareAgainst']
   dataset['myColumn'].starts_with('prefix')

get_profile

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Получает профиль данных из последнего выполнения профиля, отправленного для этого или того же набора данных в рабочей области.

get_profile(workspace=None)

Параметры

workspace
Workspace
Обязательно

Рабочая область, куда был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace.

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

Результат профиля из последнего запуска профиля типа DatasetProfile.

Возвращаемый тип

get_profile_runs

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает предыдущие выполнения профиля, связанные с этим или тем же набором данных в рабочей области.

get_profile_runs(workspace=None)

Параметры

workspace
Workspace
Обязательно

Рабочая область, куда был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace.

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

Объект итератора типа azureml.core.Run.

Возвращаемый тип

keep_columns

Сохраняет указанные столбцы и удаляет все остальные столбцы из набора данных.

При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.

keep_columns(columns, validate=False)

Параметры

columns
Union[str, list[str]]
Обязательно

Имя или список имен столбцов для сохранения.

validate
bool
Обязательно

Указывает, следует ли проверять возможность загрузки данных из возвращенного набора данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Возвращает новый объект TabularDataset только с указанными столбцами.

Возвращаемый тип

mount

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

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

mount(stream_column, mount_point=None)

Параметры

stream_column
str
Обязательно

Столбец потока для подключения.

mount_point
str
Обязательно

Локальный каталог для подключения файлов. При значении None данные будут подключены к временному каталогу, который можно найти, вызвав метод экземпляра MountContext.mount_point.

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

Возвращает диспетчер контекста для управления жизненным циклом подключения.

Возвращаемый тип

<xref:azureml.dataprep.fuse.daemon.MountContext>

partition_by

Секционированные данные будут скопированы и выведены в место назначения, заданное целевым объектом.

Создает набор данных на основе пути к выводимым данным с использованием формата секции, регистрирует набор данных, если указано имя, возвращает набор данных для нового пути к данным с секциями


   ds = Dataset.get_by_name('test') # indexed by country, state, partition_date

   # #1: call partition_by locally
   new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
               target=DataPath(datastore, "repartition"))
   partition_keys = newds.partition_keys # ['country']

   # new_ds can be passed to PRS as input dataset
partition_by(partition_keys, target, name=None, show_progress=True, partition_as_file_dataset=False)

Параметры

partition_keys
list[str]
Обязательно

Обязательный параметр, ключи секций.

target
DataPath, Datastore или tuple(Datastore, str) object
Обязательно

Обязательный параметр. Указывает путь к хранилищу данных, куда будут переданы данные кадров данных Parquet. Во избежание конфликта по целевому пути будет создана папка GUID.

name
str
Обязательно

Необязательный параметр, имя регистрации.

show_progress
bool
Обязательно

Необязательный параметр. Указывает, отображать ли в консоли ход отправки. Значение по умолчанию — True.

partition_as_file_dataset
Обязательно

Необязательный параметр. Указывает, возвращается ли значение filedataset. Значение по умолчанию — False.

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

Сохраненный или зарегистрированный набор данных.

Возвращаемый тип

random_split

Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.

Первый набор данных содержит около percentage всех записей, а второй набор данных — остальные записи.

random_split(percentage, seed=None)

Параметры

percentage
float
Обязательно

Приблизительное процентное соотношение для разделения набора данных. Это должно быть число от 0,0 до 1,0.

seed
int
Обязательно

Необязательное начальное значение, используемое для генератора случайных чисел.

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

Возвращает кортеж новых объектов TabularDataset, представляющий два набора данных после разделения.

Возвращаемый тип

skip

Пропускает указанное число записей в начале набора данных.

skip(count)

Параметры

count
int
Обязательно

Количество пропускаемых записей.

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

Возвращает новый объект TabularDataset, представляющий набор данных с пропущенными записями.

Возвращаемый тип

submit_profile_run

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Отправляет выполнение эксперимента для вычисления профиля данных.

Профиль данных может быть очень полезен для понимания входных данных, выявления аномалий и отсутствующих значений. Он предоставляет полезную информацию о данных, например тип столбца, отсутствующие значения и т. д.

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Параметры

compute_target
Union[str, ComputeTarget]
Обязательно

Целевой объект вычислений для выполнения эксперимента по вычислению профиля. Укажите local, чтобы использовать локальное вычисление. Дополнительные сведения о целевых объектах вычислений см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget.

experiment
Experiment
Обязательно

Объект эксперимента. Дополнительные сведения об экспериментах см. на странице https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment.

cache_datastore_name
str
Обязательно

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

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

Объект типа класса DatasetProfileRun.

Возвращаемый тип

take

Получает выборку с указанным числом записей из начала набора данных.

take(count)

Параметры

count
int
Обязательно

Количество получаемых записей.

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

Возвращает новый объект TabularDataset, представляющий набор данных выборки.

Возвращаемый тип

take_sample

Получает случайную выборку записей из набора данных приблизительно с заданной вероятностью.

take_sample(probability, seed=None)

Параметры

probability
float
Обязательно

Вероятность включения записи в выборку.

seed
int
Обязательно

Необязательное начальное значение, используемое для генератора случайных чисел.

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

Возвращает новый объект TabularDataset, представляющий набор данных выборки.

Возвращаемый тип

time_after

Фильтрация TabularDataset с помощью столбцов метки времени после указанного времени начала.

time_after(start_time, include_boundary=True, validate=True)

Параметры

start_time
datetime
Обязательно

Нижняя граница для фильтрации данных.

include_boundary
bool
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (start_time).

validate
bool
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Объект TabularDataset с новым отфильтрованным набором данных.

Возвращаемый тип

time_before

Выполняет фильтрацию TabularDataset с помощью столбцов метки времени до указанного времени окончания.

time_before(end_time, include_boundary=True, validate=True)

Параметры

end_time
datetime
Обязательно

Верхняя граница для фильтрации данных.

include_boundary
bool
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (end_time).

validate
bool
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Объект TabularDataset с новым отфильтрованным набором данных.

Возвращаемый тип

time_between

Выполняет фильтрацию TabularDataset между указанным временем начала и окончания.

time_between(start_time, end_time, include_boundary=True, validate=True)

Параметры

start_time
datetime
Обязательно

Нижняя граница для фильтрации данных.

end_time
datetime
Обязательно

Верхняя граница для фильтрации данных.

include_boundary
bool
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (start_end и end_time).

validate
bool
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Объект TabularDataset с новым отфильтрованным набором данных.

Возвращаемый тип

time_recent

Фильтрует TabularDataset, чтобы этот объект содержал только последние данные за указанный период.

time_recent(time_delta, include_boundary=True, validate=True)

Параметры

time_delta
timedelta
Обязательно

Длительность (объем) последних извлекаемых данных.

include_boundary
bool
Обязательно

Указывает, следует ли включать строку, связанную с временем границы (time_delta).

validate
bool
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Объект TabularDataset с новым отфильтрованным набором данных.

Возвращаемый тип

to_csv_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий CSV-файлы.

Результирующий набор данных будет содержать один или несколько CSV-файлов, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_csv_files(separator=',')

Параметры

separator
str
Обязательно

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

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

Возвращает новый объект FileDataset с набором CSV-файлов, содержащих данные из этого набора данных.

Возвращаемый тип

to_dask_dataframe

Примечание

Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.

Возвращает кадр данных Dask, который может считывать данные в наборе данных в неактивном режиме.

to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')

Параметры

sample_size
Обязательно

Число считываемых записей для определения схемы и типов.

dtypes
Обязательно

Необязательный словарь, указывающий ожидаемые столбцы и их объекты dtype. Если задано это значение, sample_size игнорируется.

on_error
Обязательно

Способ обработки любых ошибочных значений в наборе данных, например вызванных ошибкой при синтаксическом анализе значений. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

out_of_range_datetime
Обязательно

Способ обработки значений даты и времени, которые выходят за пределы диапазона, поддерживаемого Pandas. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

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

dask.dataframe.core.DataFrame

to_pandas_dataframe

Загружает все записи из набора данных в кадр данных pandas.

to_pandas_dataframe(on_error='null', out_of_range_datetime='null')

Параметры

on_error
Обязательно

Способ обработки любых ошибочных значений в наборе данных, например вызванных ошибкой при синтаксическом анализе значений. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

out_of_range_datetime
Обязательно

Способ обработки значений даты и времени, которые выходят за пределы диапазона, поддерживаемого Pandas. Допустимые значения: NULL, при котором они заменяются значением NULL, и Fail, которое приводит к исключению.

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

Возвращает кадр данных pandas.

Возвращаемый тип

to_parquet_files

Преобразовывает текущий набор данных в объект FileDataset, содержащий файлы Parquet.

Результирующий набор данных будет содержать один или несколько файлов Parquet, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.

to_parquet_files()

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

Возвращает новый объект FileDataset с набором файлов Parquet, содержащих данные из этого набора данных.

Возвращаемый тип

to_spark_dataframe

Загружает все записи из набора данных в кадр данных Spark.

to_spark_dataframe()

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

Возвращает кадр данных Spark.

Возвращаемый тип

with_timestamp_columns

Определяет столбцы меток времени для набора данных.

with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)

Параметры

timestamp
str
Обязательно

Имя столбца в виде timestamp (ранее — fine_grain_timestamp) (необязательно). Значение по умолчанию — None(clear).

partition_timestamp
str
Обязательно

Имя столбца в виде partition_timestamp (ранее — указывается как coarse grain timestamp) (необязательно). Значение по умолчанию — None(clear).

validate
bool
Обязательно

Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления.

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

Возвращает новый объект TabularDataset с определенными столбцами метки времени.

Возвращаемый тип

Комментарии

Этот метод определяет столбцы, используемые в качестве меток времени. Столбцы меток времени в наборе данных позволяют обрабатывать данные как данные временных рядов и использовать дополнительные возможности. Если в наборе данных заданы timestamp (used to be referred as fine_grain_timestamp) и partition_timestamp (used to be referred as coarse grain timestamp), эти два столбца должны представлять одну временную шкалу.

Атрибуты

timestamp_columns

Возвращает столбцы меток времени.

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

Имена столбцов для timestamp (ранее — fine_grain_timestamp) и partition_timestamp (ранее — coarse_grain_timestamp), определенные для набора данных.

Возвращаемый тип

(str, str)