Поделиться через


TabularDataset Класс

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

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

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

Дополнительные сведения см. в статье "Добавление и регистрация наборов данных". Сведения о начале работы с табличным набором данных см. в статье https://aka.ms/tabulardataset-samplenotebook.

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

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

Конструктор

TabularDataset()

Комментарии

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

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

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

Методы

download

Замечание

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

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

drop_columns

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

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

filter

Замечание

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

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

get_profile

Замечание

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

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

get_profile_runs

Замечание

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

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

keep_columns

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

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

mount

Замечание

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

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

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/acr/connected-registry.

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

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

take

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

take_sample

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

time_after

Отфильтруйте Табличноеdataset со столбцами меток времени после указанного времени начала.

time_before

Фильтруйте Табличноеdataset со столбцами меток времени до указанного времени окончания.

time_between

Фильтруйте Табличноеdataset между указанным временем начала и окончания.

time_recent

Фильтр табличного набора данных, чтобы содержать только указанную длительность (объем) последних данных.

to_csv_files

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

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

to_dask_dataframe

Замечание

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

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

to_pandas_dataframe

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

to_parquet_files

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

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

to_spark_dataframe

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

with_timestamp_columns

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

download

Замечание

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

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

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

Параметры

Имя Описание
stream_column
Обязательно
str

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

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

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

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

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

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

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

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

Тип Описание

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

drop_columns

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

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

drop_columns(columns)

Параметры

Имя Описание
columns
Обязательно

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

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

Тип Описание

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

filter

Замечание

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

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

filter(expression)

Параметры

Имя Описание
expression
Обязательно
any

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

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

Тип Описание

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

Комментарии

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


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

get_profile

Замечание

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

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

get_profile(workspace=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которой был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. в статье >.

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

Тип Описание

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

get_profile_runs

Замечание

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

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

get_profile_runs(workspace=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которой был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. в статье >.

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

Тип Описание

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

keep_columns

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

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

keep_columns(columns, validate=False)

Параметры

Имя Описание
columns
Обязательно

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

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

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

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

Тип Описание

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

mount

Замечание

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

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

mount(stream_column, mount_point=None)

Параметры

Имя Описание
stream_column
Обязательно
str

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

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

Локальный каталог для подключения файлов. Если нет, данные будут подключены к временному каталогу, который можно найти, вызвав метод экземпляра 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
Обязательно

Обязательные ключи секции

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

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

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

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

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

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

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

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

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

Тип Описание

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

random_split

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

Первый набор данных содержит приблизительно percentage общее количество записей и второй набор данных оставшихся записей.

random_split(percentage, seed=None)

Параметры

Имя Описание
percentage
Обязательно

Приблизительный процент разделения набора данных на. Это должно быть число от 0.0 до 1.0.

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

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

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

Тип Описание

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

skip

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

skip(count)

Параметры

Имя Описание
count
Обязательно
int

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

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

Тип Описание

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

submit_profile_run

Замечание

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

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

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

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Параметры

Имя Описание
compute_target
Обязательно

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

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
Обязательно

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

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

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

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

Тип Описание

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

time_after

Отфильтруйте Табличноеdataset со столбцами меток времени после указанного времени начала.

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

Параметры

Имя Описание
start_time
Обязательно

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

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

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

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

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

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

Тип Описание

Табличный набор данных с новым фильтруемым набором данных.

time_before

Фильтруйте Табличноеdataset со столбцами меток времени до указанного времени окончания.

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

Параметры

Имя Описание
end_time
Обязательно

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

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

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

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

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

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

Тип Описание

Табличный набор данных с новым фильтруемым набором данных.

time_between

Фильтруйте Табличноеdataset между указанным временем начала и окончания.

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

Параметры

Имя Описание
start_time
Обязательно

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

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

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

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

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

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

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

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

Тип Описание

Табличный набор данных с новым фильтруемым набором данных.

time_recent

Фильтр табличного набора данных, чтобы содержать только указанную длительность (объем) последних данных.

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

Параметры

Имя Описание
time_delta
Обязательно

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

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

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

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

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

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

Тип Описание

Табличный набор данных с новым фильтруемым набором данных.

to_csv_files

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

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

to_csv_files(separator=',')

Параметры

Имя Описание
separator
Обязательно
str

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

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

Тип Описание

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

to_dask_dataframe

Замечание

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

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

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

Параметры

Имя Описание
sample_size
Обязательно

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

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

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

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

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

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

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

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

Тип Описание

dask.dataframe.core.DataFrame

to_pandas_dataframe

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

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

Параметры

Имя Описание
on_error
Обязательно

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

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

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

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

Тип Описание

Возвращает кадр данных 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

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

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

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

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

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

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

Тип Описание

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

Комментарии

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

Атрибуты

timestamp_columns

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

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

Тип Описание
(str, str)

Имена столбцов для метки времени (используется для обозначения fine_grain_timestamp) и partition_timestamp (которые называются грубой меткой времени) для набора данных.