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 |
Секционированные данные будут скопированы и выведены в место назначения, заданное целевым объектом. Создает набор данных на основе пути к выводимым данным с использованием формата секции, регистрирует набор данных, если указано имя, возвращает набор данных для нового пути к данным с секциями
|
random_split |
Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении. Первый набор данных содержит около |
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
Обязательно
|
Столбец потоковой передачи для скачивания. |
target_path
Обязательно
|
Локальный каталог для скачивания файлов. Если он не указан, данные будут скачаны во временный каталог. |
overwrite
Обязательно
|
Указывает, следует ли перезаписывать существующие файлы. Значение по умолчанию — False. Существующие файлы будут перезаписаны, если для параметра перезаписи задано значение True; в противном случае будет вызвано исключение. |
ignore_not_found
Обязательно
|
Указывает, следует ли завершить скачивание ошибкой, если не найдены некоторые файлы, на которые указывает набор данных. Значение по умолчанию равно True. Если для ignore_not_found задано значение False, скачивание завершится ошибкой при сбое скачивания любого файла по какой-либо причине. В противном случае в журнал будет занесено предупреждение о том, что ошибки не найдены, а скачивание будет успешным, если не возникнут ошибки других типов. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает массив путей файла для каждого скачанного файла. |
drop_columns
Удаляет указанные столбцы из набора данных.
При удалении столбца временных рядов соответствующие возможности также будут удалены для возвращенного набора данных.
drop_columns(columns)
Параметры
Имя | Описание |
---|---|
columns
Обязательно
|
Имя или список имен столбцов для удаления. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset с удаленными указанными столбцами. |
filter
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению.
filter(expression)
Параметры
Имя | Описание |
---|---|
expression
Обязательно
|
Выражение для вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Измененный набор данных (регистрация отменена). |
Комментарии
Выражения запускаются путем индексирования Dataset с именем столбца. Они поддерживают различные функции и операторы, а также могут объединяться с помощью логических операторов. Результирующее выражение будет вычисляться в неактивном режиме для каждой записи при извлечении данных, а не там, где оно определено.
dataset['myColumn'] > dataset['columnToCompareAgainst']
dataset['myColumn'].starts_with('prefix')
get_profile
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Получает профиль данных из последнего выполнения профиля, отправленного для этого или того же набора данных в рабочей области.
get_profile(workspace=None)
Параметры
Имя | Описание |
---|---|
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
Обязательно
|
Рабочая область, куда был отправлен запуск профиля. По умолчанию используется рабочая область этого набора данных. Требуется, если набор данных не связан с рабочей областью. Дополнительные сведения о рабочих областях см. на странице 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
Обязательно
|
Имя или список имен столбцов для сохранения. |
validate
Обязательно
|
Указывает, следует ли проверять возможность загрузки данных из возвращенного набора данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset только с указанными столбцами. |
mount
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Создает диспетчер контекста для подключения потоков файлов, которые определяются набором данных в виде локальных файлов.
mount(stream_column, mount_point=None)
Параметры
Имя | Описание |
---|---|
stream_column
Обязательно
|
Столбец потока для подключения. |
mount_point
Обязательно
|
Локальный каталог для подключения файлов. При значении 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
Обязательно
|
Обязательный параметр, ключи секций. |
target
Обязательно
|
Обязательный параметр. Указывает путь к хранилищу данных, куда будут переданы данные кадров данных Parquet. Во избежание конфликта по целевому пути будет создана папка GUID. |
name
Обязательно
|
Необязательный параметр, имя регистрации. |
show_progress
Обязательно
|
Необязательный параметр. Указывает, отображать ли в консоли ход отправки. Значение по умолчанию — True. |
partition_as_file_dataset
Обязательно
|
Необязательный параметр. Указывает, возвращается ли значение filedataset. Значение по умолчанию — False. |
Возвращаемое значение
Тип | Описание |
---|---|
Сохраненный или зарегистрированный набор данных. |
random_split
Разделяет записи в наборе данных на две части случайным образом и приблизительно в указанном процентном соотношении.
Первый набор данных содержит около percentage
всех записей, а второй набор данных — остальные записи.
random_split(percentage, seed=None)
Параметры
Имя | Описание |
---|---|
percentage
Обязательно
|
Приблизительное процентное соотношение для разделения набора данных. Это должно быть число от 0,0 до 1,0. |
seed
Обязательно
|
Необязательное начальное значение, используемое для генератора случайных чисел. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает кортеж новых объектов TabularDataset, представляющий два набора данных после разделения. |
skip
Пропускает указанное число записей в начале набора данных.
skip(count)
Параметры
Имя | Описание |
---|---|
count
Обязательно
|
Количество пропускаемых записей. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset, представляющий набор данных с пропущенными записями. |
submit_profile_run
Примечание
Это экспериментальный метод, который может быть изменен в любое время. Дополнительные сведения см. по адресу https://aka.ms/azuremlexperimental.
Отправляет выполнение эксперимента для вычисления профиля данных.
Профиль данных может быть очень полезен для понимания входных данных, выявления аномалий и отсутствующих значений. Он предоставляет полезную информацию о данных, например тип столбца, отсутствующие значения и т. д.
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
Обязательно
|
Имя хранилища данных, в котором будет храниться кэш профиля (если отсутствует, используется хранилище данных по умолчанию). |
Возвращаемое значение
Тип | Описание |
---|---|
Объект типа класса DatasetProfileRun. |
take
Получает выборку с указанным числом записей из начала набора данных.
take(count)
Параметры
Имя | Описание |
---|---|
count
Обязательно
|
Количество получаемых записей. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset, представляющий набор данных выборки. |
take_sample
Получает случайную выборку записей из набора данных приблизительно с заданной вероятностью.
take_sample(probability, seed=None)
Параметры
Имя | Описание |
---|---|
probability
Обязательно
|
Вероятность включения записи в выборку. |
seed
Обязательно
|
Необязательное начальное значение, используемое для генератора случайных чисел. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset, представляющий набор данных выборки. |
time_after
Фильтрация TabularDataset с помощью столбцов метки времени после указанного времени начала.
time_after(start_time, include_boundary=True, validate=True)
Параметры
Имя | Описание |
---|---|
start_time
Обязательно
|
Нижняя граница для фильтрации данных. |
include_boundary
Обязательно
|
Указывает, следует ли включать строку, связанную с временем границы ( |
validate
Обязательно
|
Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Объект TabularDataset с новым отфильтрованным набором данных. |
time_before
Выполняет фильтрацию TabularDataset с помощью столбцов метки времени до указанного времени окончания.
time_before(end_time, include_boundary=True, validate=True)
Параметры
Имя | Описание |
---|---|
end_time
Обязательно
|
Верхняя граница для фильтрации данных. |
include_boundary
Обязательно
|
Указывает, следует ли включать строку, связанную с временем границы ( |
validate
Обязательно
|
Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Объект TabularDataset с новым отфильтрованным набором данных. |
time_between
Выполняет фильтрацию TabularDataset между указанным временем начала и окончания.
time_between(start_time, end_time, include_boundary=True, validate=True)
Параметры
Имя | Описание |
---|---|
start_time
Обязательно
|
Нижняя граница для фильтрации данных. |
end_time
Обязательно
|
Верхняя граница для фильтрации данных. |
include_boundary
Обязательно
|
Указывает, следует ли включать строку, связанную с временем границы ( |
validate
Обязательно
|
Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Объект TabularDataset с новым отфильтрованным набором данных. |
time_recent
Фильтрует TabularDataset, чтобы этот объект содержал только последние данные за указанный период.
time_recent(time_delta, include_boundary=True, validate=True)
Параметры
Имя | Описание |
---|---|
time_delta
Обязательно
|
Длительность (объем) последних извлекаемых данных. |
include_boundary
Обязательно
|
Указывает, следует ли включать строку, связанную с временем границы ( |
validate
Обязательно
|
Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию равно True. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Объект TabularDataset с новым отфильтрованным набором данных. |
to_csv_files
Преобразовывает текущий набор данных в объект FileDataset, содержащий CSV-файлы.
Результирующий набор данных будет содержать один или несколько CSV-файлов, каждый из которых соответствует секции данных из текущего набора данных. Эти файлы не материализуются до тех пор, пока они не будут скачаны или пока из них не будут считаны данные.
to_csv_files(separator=',')
Параметры
Имя | Описание |
---|---|
separator
Обязательно
|
Разделитель, используемый для разделения значений в результирующем файле. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект 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
Обязательно
|
Имя столбца в виде timestamp (ранее — fine_grain_timestamp) (необязательно). Значение по умолчанию — None(clear). |
partition_timestamp
Обязательно
|
Имя столбца в виде partition_timestamp (ранее — указывается как coarse grain timestamp) (необязательно). Значение по умолчанию — None(clear). |
validate
Обязательно
|
Указывает, следует ли проверить наличие заданных столбцов в наборе данных. Значение по умолчанию — False. Для проверки необходимо, чтобы источник данных был доступен из текущего вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает новый объект TabularDataset с определенными столбцами метки времени. |
Комментарии
Этот метод определяет столбцы, используемые в качестве меток времени. Столбцы меток времени в наборе данных позволяют обрабатывать данные как данные временных рядов и использовать дополнительные возможности. Если в наборе данных заданы timestamp (used to be referred as fine_grain_timestamp)
и partition_timestamp (used to be referred as coarse grain timestamp)
, эти два столбца должны представлять одну временную шкалу.