MLTable Класс
Представляет mlTable.
MlTable определяет ряд неизменяемых операций, неизменяемых для загрузки данных из источника данных. Данные не загружаются из источника, пока MLTable не будет предложено доставлять данные.
Инициализировать новый MLTable.
Этот конструктор не должен вызываться напрямую. MlTable предназначен для создания с помощью load.
Конструктор
MLTable()
Методы
convert_column_types |
Добавляет шаг преобразования для преобразования указанных столбцов в соответствующие новые типы.
|
drop_columns |
Добавляет шаг преобразования для удаления заданных столбцов из набора данных. Если пустой список, кортеж или набор не будут удалены. Повторяющиеся столбцы вызывают UserErrorException. Попытка удалить столбец, MLTable.traits.timestamp_column или в MLTable.traits.index_columns вызовет userErrorException. |
extract_columns_from_partition_format |
Добавляет шаг преобразования, чтобы использовать сведения о секционированиях каждого пути и извлекать их в столбцы в зависимости от указанного формата секции. Часть форматирования "{column_name}" создает строковый столбец, а "{column_name:y/MM/dd/HH/mm/ss}" создает столбец datetime, где "гггг", "MM", "dd", "HH", "mm" и "ss" используются для извлечения года, месяца, дня, часа, минуты и секунды для типа datetime. Формат должен начинаться с позиции первого ключа секции до конца пути к файлу. Например, учитывая путь "/Accounts/2019/01/01/01/data.csv", где секция находится по имени и времени отдела, partition_format='/{Department}/{PartitionDate:y/MM/dd}/data.csv' создает строковый столбец "Отдел" со значением "Учетные записи" и столбцом datetime "PartitionDate" со значением "2019-01-01-01". |
filter |
Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению. |
get_partition_count |
Возвращает количество секций данных, связанных с данными, связанными с этим MLTable. |
keep_columns |
Добавляет шаг преобразования, чтобы сохранить указанные столбцы и удалить все остальные из набора данных. Если пустой список, кортеж или набор не будут удалены. Повторяющиеся столбцы вызывают UserErrorException. Если столбец в MLTable.traits.timestamp_column или столбцах в MLTable.traits.index_columns не хранится явным образом, пользователь UserErrorException является разбросом. |
random_split |
Случайным образом разбивает этот MLTable на две таблицы MLTable, одна из которых имеет приблизительно "процент"% исходных данных MLTable, а другая имеет оставшуюся часть (1-"процент"%). |
save |
Сохраните этот MLTable в виде ФАЙЛА YAML MLTable и его ссоединенных путей к указанному пути к каталогу. Если путь не задан, по умолчанию используется текущий рабочий каталог. Если путь не существует, он создается. Если путь является удаленным, базовое хранилище данных должно уже существовать. Если путь является локальным каталогом и не является абсолютным, он делается абсолютным. Если путь указывает на файл, вызывается userErrorException. Если путь — это путь к каталогу, который уже содержит один или несколько файлов, сохраненных (включая ФАЙЛ YAML MLTable) и перезапись имеет значение False или fail, вызывается UserErrorException. Если путь является удаленным, все локальные пути к файлам, не заданные в качестве совместного пути (путь к файлу относительно каталога, из который был загружен MLTable), вызовет userErrorException. Совместное управление сохранением связанных путей в пути. Если значение true, файлы копируются в путь вместе с YAML-файлом MLTable в качестве относительных путей к файлам. В противном случае связанные файлы не копируются, удаленные пути остаются в соответствии с заданными, а локальные пути к файлам выполняются относительно перенаправления путей при необходимости. Обратите внимание, что false может привести к неконфикаторным файлам YAML MLTable, которые не рекомендуется, кроме того, если путь удален, это приведет к тому, что userErrorException не поддерживается для удаленных URI. Обратите внимание, что если mlTable создается программно с такими методами, как from_paths() или from_read_delimited_files() с локальными относительными путями, путь к каталогу MLTable считается текущим рабочим каталогом. Учитывайте при сохранении новых файлов данных MLTable и связанных с ним файлов данных в каталог с существующим файлом MLTable и связанными файлами данных, которые каталог не очищается от существующих файлов перед сохранением новых файлов. Существующие файлы данных можно сохранить после сохранения новых файлов, особенно если существующие файлы данных не имеют имен, соответствующих новым файлам данных. Если новая mlTable содержит конструктор шаблонов под его путями, это может непреднамеренно изменить MLTable путем связывания существующих файлов данных с новым MLTable. Если пути к файлам в этом MLTable указывают на существующий файл в пути , но имеют другой универсальный код ресурса (URI), если перезапись имеет значение fail или skip, существующий файл не будет перезаписан (т. е. пропущен). |
select_partitions |
Добавляет шаг преобразования для выбора секции. |
show |
Извлекает первые строки этого MLTable в виде кадра данных Pandas. |
skip |
Добавляет шаг преобразования, чтобы пропустить первые строки счетчика этой MLTable. |
take |
Добавляет шаг преобразования для выбора первых строк этого MLTable. |
take_random_sample |
Добавляет шаг преобразования, чтобы случайным образом выбрать каждую строку этого MLTable с вероятностью . Вероятность должна находиться в диапазоне [0, 1]. Может при необходимости задать случайное начальное значение. |
to_pandas_dataframe |
Загрузите все записи из путей, указанных в файле MLTable, в кадр данных Pandas. |
validate |
Проверяет, могут ли данные MLTable загружаться, требуется, чтобы источник данных MLTable был доступен из текущего вычисления. |
convert_column_types
Добавляет шаг преобразования для преобразования указанных столбцов в соответствующие новые типы.
from mltable import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_int(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool(),
'Stream': DataType.to_stream()
}
convert_column_types(column_types)
Параметры
Имя | Описание |
---|---|
column_types
Обязательно
|
Словарь столбца: типы, которые пользователь хочет преобразовать |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с добавленным этапом преобразования |
drop_columns
Добавляет шаг преобразования для удаления заданных столбцов из набора данных. Если пустой список, кортеж или набор не будут удалены. Повторяющиеся столбцы вызывают UserErrorException.
Попытка удалить столбец, MLTable.traits.timestamp_column или в MLTable.traits.index_columns вызовет userErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Параметры
Имя | Описание |
---|---|
columns
Обязательно
|
столбцы для удаления из этой таблицы MLTable |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с добавленным этапом преобразования |
extract_columns_from_partition_format
Добавляет шаг преобразования, чтобы использовать сведения о секционированиях каждого пути и извлекать их в столбцы в зависимости от указанного формата секции.
Часть форматирования "{column_name}" создает строковый столбец, а "{column_name:y/MM/dd/HH/mm/ss}" создает столбец datetime, где "гггг", "MM", "dd", "HH", "mm" и "ss" используются для извлечения года, месяца, дня, часа, минуты и секунды для типа datetime.
Формат должен начинаться с позиции первого ключа секции до конца пути к файлу. Например, учитывая путь "/Accounts/2019/01/01/01/data.csv", где секция находится по имени и времени отдела, partition_format='/{Department}/{PartitionDate:y/MM/dd}/data.csv' создает строковый столбец "Отдел" со значением "Учетные записи" и столбцом datetime "PartitionDate" со значением "2019-01-01-01".
extract_columns_from_partition_format(partition_format)
Параметры
Имя | Описание |
---|---|
partition_format
Обязательно
|
Формат секции для извлечения данных в столбцы |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable, формат секции которого задан для заданного формата |
filter
Выполняет фильтрацию данных, оставляя только те записи, которые соответствуют указанному выражению.
filter(expression)
Параметры
Имя | Описание |
---|---|
expression
Обязательно
|
Выражение для вычисления. |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable после фильтра |
Комментарии
Выражения запускаются путем индексирования mltable с именем столбца. Они поддерживают различные функции и операторы и могут объединяться с помощью логических операторов. Результирующее выражение будет неявно вычисляться для каждой записи при возникновении извлечения данных, а не в том месте, где оно определено.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Возвращает количество секций данных, связанных с данными, связанными с этим MLTable.
get_partition_count() -> int
Возвращаемое значение
Тип | Описание |
---|---|
секции данных в этом MLTable |
keep_columns
Добавляет шаг преобразования, чтобы сохранить указанные столбцы и удалить все остальные из набора данных. Если пустой список, кортеж или набор не будут удалены. Повторяющиеся столбцы вызывают UserErrorException.
Если столбец в MLTable.traits.timestamp_column или столбцах в MLTable.traits.index_columns не хранится явным образом, пользователь UserErrorException является разбросом.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Параметры
Имя | Описание |
---|---|
columns
Обязательно
|
Столбцы в этом MLTable для сохранения |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с добавленным этапом преобразования |
random_split
Случайным образом разбивает этот MLTable на две таблицы MLTable, одна из которых имеет приблизительно "процент"% исходных данных MLTable, а другая имеет оставшуюся часть (1-"процент"%).
random_split(percent=0.5, seed=None)
Параметры
Имя | Описание |
---|---|
percent
Обязательно
|
процент mlTable для разделения между |
seed
Обязательно
|
необязательное случайное начальное значение |
Возвращаемое значение
Тип | Описание |
---|---|
два MLTable с данными MLTable, разделенными между ними на "процент" |
save
Сохраните этот MLTable в виде ФАЙЛА YAML MLTable и его ссоединенных путей к указанному пути к каталогу.
Если путь не задан, по умолчанию используется текущий рабочий каталог. Если путь не существует, он создается. Если путь является удаленным, базовое хранилище данных должно уже существовать. Если путь является локальным каталогом и не является абсолютным, он делается абсолютным.
Если путь указывает на файл, вызывается userErrorException. Если путь — это путь к каталогу, который уже содержит один или несколько файлов, сохраненных (включая ФАЙЛ YAML MLTable) и перезапись имеет значение False или fail, вызывается UserErrorException. Если путь является удаленным, все локальные пути к файлам, не заданные в качестве совместного пути (путь к файлу относительно каталога, из который был загружен MLTable), вызовет userErrorException.
Совместное управление сохранением связанных путей в пути. Если значение true, файлы копируются в путь вместе с YAML-файлом MLTable в качестве относительных путей к файлам. В противном случае связанные файлы не копируются, удаленные пути остаются в соответствии с заданными, а локальные пути к файлам выполняются относительно перенаправления путей при необходимости. Обратите внимание, что false может привести к неконфикаторным файлам YAML MLTable, которые не рекомендуется, кроме того, если путь удален, это приведет к тому, что userErrorException не поддерживается для удаленных URI.
Обратите внимание, что если mlTable создается программно с такими методами, как from_paths() или from_read_delimited_files() с локальными относительными путями, путь к каталогу MLTable считается текущим рабочим каталогом.
Учитывайте при сохранении новых файлов данных MLTable и связанных с ним файлов данных в каталог с существующим файлом MLTable и связанными файлами данных, которые каталог не очищается от существующих файлов перед сохранением новых файлов. Существующие файлы данных можно сохранить после сохранения новых файлов, особенно если существующие файлы данных не имеют имен, соответствующих новым файлам данных. Если новая mlTable содержит конструктор шаблонов под его путями, это может непреднамеренно изменить MLTable путем связывания существующих файлов данных с новым MLTable.
Если пути к файлам в этом MLTable указывают на существующий файл в пути , но имеют другой универсальный код ресурса (URI), если перезапись имеет значение fail или skip, существующий файл не будет перезаписан (т. е. пропущен).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Параметры
Имя | Описание |
---|---|
path
Обязательно
|
Путь к каталогу для сохранения в текущий рабочий каталог по умолчанию |
colocated
Обязательно
|
Если значение true, сохраняет копии локальных и удаленных путей к файлам в этом MLTable в качестве относительных путей. В противном случае копирование файлов не происходит, а удаленные пути к файлам сохраняются в соответствии с сохраненным ФАЙЛом YAML MLTable и локальными путями к файлам в качестве относительных путей к файлам с перенаправлением пути. Если путь удален и этот MLTable содержит локальные пути к файлам, будет вызван пользователь UserErrorException. |
overwrite
Обязательно
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Как существующий ФАЙЛ YAML MLTable и связанные файлы, которые уже могут существовать в пути , обрабатываются. Параметры имеют значение "перезапись" (или "True") для замены существующих файлов, "сбой" (или false), чтобы вызвать ошибку, если файл уже существует, или "пропустить", чтобы оставить существующие файлы как есть. Может также задать значение <xref:mltable.MLTableSaveOverwriteOptions>. |
show_progress
Обязательно
|
отображает ход копирования в stdout |
if_err_remove_files
Обязательно
|
Если во время сохранения возникает какая-либо ошибка, удалите все успешно сохраненные файлы, чтобы сделать операцию атомарной |
Возвращаемое значение
Тип | Описание |
---|---|
этот экземпляр MLTable |
select_partitions
Добавляет шаг преобразования для выбора секции.
select_partitions(partition_index_list)
Параметры
Имя | Описание |
---|---|
partition_index_list
Обязательно
|
список индексов секций |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с обновленным размером секции |
Комментарии
В следующем фрагменте кода показано, как использовать api select_partitions для выбранных секций из предоставленного MLTable.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Извлекает первые строки этого MLTable в виде кадра данных Pandas.
show(count=20)
Параметры
Имя | Описание |
---|---|
count
Обязательно
|
Количество строк в верхней части таблицы для выбора |
Возвращаемое значение
Тип | Описание |
---|---|
<xref:Pandas> <xref:Dataframe>
|
первое число строк MLTable |
skip
Добавляет шаг преобразования, чтобы пропустить первые строки счетчика этой MLTable.
skip(count)
Параметры
Имя | Описание |
---|---|
count
Обязательно
|
количество строк для пропуска |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с добавленным этапом преобразования |
take
take_random_sample
Добавляет шаг преобразования, чтобы случайным образом выбрать каждую строку этого MLTable с вероятностью . Вероятность должна находиться в диапазоне [0, 1]. Может при необходимости задать случайное начальное значение.
take_random_sample(probability, seed=None)
Параметры
Имя | Описание |
---|---|
probability
Обязательно
|
вероятность выбора каждой строки |
seed
Обязательно
|
необязательное случайное начальное значение |
Возвращаемое значение
Тип | Описание |
---|---|
MLTable с добавленным этапом преобразования |
to_pandas_dataframe
Загрузите все записи из путей, указанных в файле MLTable, в кадр данных Pandas.
to_pandas_dataframe()
Возвращаемое значение
Тип | Описание |
---|---|
Кадр данных Pandas, содержащий записи из путей в этой таблице MLTable |
Комментарии
В следующем фрагменте кода показано, как использовать API to_pandas_dataframe для получения кадра данных Pandas, соответствующего предоставленному MLTable.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Проверяет, могут ли данные MLTable загружаться, требуется, чтобы источник данных MLTable был доступен из текущего вычисления.
validate()
Возвращаемое значение
Тип | Описание |
---|---|
Отсутствует |
Атрибуты
paths
Возвращает список словарей, содержащих исходные пути, заданные в этом MLTable. Предполагается, что относительные пути к локальным файлам относятся к каталогу, из которого был загружен файл YAML MLTable.
Возвращаемое значение
Тип | Описание |
---|---|
список диктов, содержащих пути, указанные в MLTable |