Udostępnij za pośrednictwem


MLTable Klasa

Reprezentuje tabelę MLTable.

Tabela MLTable definiuje serię leniwie ocenianych, niezmiennych operacji w celu załadowania danych ze źródła danych. Dane nie są ładowane ze źródła, dopóki tabela MLTable nie zostanie poproszona o dostarczenie danych.

Zainicjuj nową tabelę MLTable.

Ten konstruktor nie powinien być wywoływany bezpośrednio. Tabela MLTable ma zostać utworzona przy użyciu polecenia load.

Dziedziczenie
builtins.object
MLTable

Konstruktor

MLTable()

Metody

convert_column_types

Dodaje krok przekształcania, aby przekonwertować określone kolumny na odpowiednie określone nowe typy.


   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()
       }
drop_columns

Dodaje krok przekształcania, aby usunąć podane kolumny z zestawu danych. Jeśli pusta lista, krotka lub zestaw nie zostaną usunięte. Zduplikowane kolumny spowodują wyjątek UserErrorException.

Próba porzucania kolumny, która jest MLTable.traits.timestamp_column lub w MLTable.traits.index_columns zgłosi wyjątek UserErrorException.

extract_columns_from_partition_format

Dodaje krok przekształcenia, aby użyć informacji o partycji każdej ścieżki i wyodrębnić je do kolumn w oparciu o określony format partycji.

Część formatu "{column_name}" tworzy kolumnę ciągu i "{column_name:rrrr/MM/dd/HH/mm/ss}" tworzy kolumnę datetime, gdzie "rrrr", "MM", "dd", "HH", "mm" i "ss" są używane do wyodrębniania roku, miesiąca, dnia, godziny, minuty i sekundy dla typu data/godzina.

Format powinien rozpoczynać się od pozycji pierwszego klucza partycji do końca ścieżki pliku. Na przykład na podstawie ścieżki "/Accounts/2019/01/01/data.csv", gdzie partycja jest według nazwy i godziny działu, partition_format="/{Dział}/{PartitionDate:rrrr/MM/dd}/data.csv" tworzy kolumnę ciągu "Dział" z wartością "Accounts" i kolumną daty/godziny "PartitionDate" z wartością "2019-01-01".

filter

Przefiltruj dane, pozostawiając tylko rekordy zgodne z określonym wyrażeniem.

get_partition_count

Zwraca liczbę partycji danych bazowych danych skojarzonych z tą tabelą MLTable.

keep_columns

Dodaje krok przekształcenia, aby zachować określone kolumny i usunąć wszystkie inne z zestawu danych. Jeśli pusta lista, krotka lub zestaw nie zostaną usunięte. Zduplikowane kolumny spowodują wyjątek UserErrorException.

Jeśli kolumna w MLTable.traits.timestamp_column lub kolumnach w MLTable.traits.index_columns nie jest jawnie przechowywana, wyjątek UserErrorException jest raiesd.

random_split

Losowo dzieli tę tabelę MLTable na dwie tabele MLTable, z których jedna ma około "procent" danych oryginalnej tabeli MLTable, a drugą z resztą (1–"procent"%).

save

Zapisz tę tabelę MLTable jako plik YAML MLTable & ścieżki z ssoicated do podanej ścieżki katalogu.

Jeśli ścieżka nie zostanie podana, zostanie ustawiona wartość domyślna bieżącego katalogu roboczego. Jeśli ścieżka nie istnieje, zostanie utworzona. Jeśli ścieżka jest zdalna, źródłowy magazyn danych musi już istnieć. Jeśli ścieżka jest katalogiem lokalnym, & nie jest bezwzględna, jest ona bezwzględna.

Jeśli ścieżka wskazuje plik, zostanie zgłoszony wyjątek UserErrorException. Jeśli ścieżka jest ścieżką katalogu, która zawiera już jeden lub więcej plików zapisywanych (w tym plik YAML w tabeli MLTable), a zastąpienie jest ustawione na wartość False lub "fail" — zgłaszany jest wyjątek UserErrorException. Jeśli ścieżka jest zdalna, wszystkie ścieżki plików lokalnych, które nie są podane jako ścieżka kolokowana (ścieżka pliku względem katalogu, z którego została załadowana tabela MLTable), zgłosi wyjątek UserErrorException.

kolokowane steruje sposobem zapisywania skojarzonych ścieżek do ścieżki. Jeśli wartość True, pliki są kopiowane do ścieżki wraz z plikiem YAML tabeli MLTable jako ścieżki plików względnych. W przeciwnym razie skojarzone pliki nie są kopiowane, ścieżki zdalne pozostają podane, a lokalne ścieżki plików są wykonywane względnie z przekierowaniem ścieżki w razie potrzeby. Należy pamiętać, że wartość False może spowodować, że nieprzydzielone pliki YAML tabeli MLTable nie są zalecane, a ponadto jeśli ścieżka jest zdalna, spowoduje to wyjątek UserErrorException, ponieważ przekierowanie ścieżki względnej nie jest obsługiwane w przypadku zdalnych identyfikatorów URI.

Należy pamiętać, że jeśli tabela MLTable jest tworzona programowo przy użyciu metod takich jak from_paths() lub from_read_delimited_files() z lokalnymi ścieżkami względnymi, zakłada się, że ścieżka katalogu MLTable jest bieżącym katalogiem roboczym.

Podczas zapisywania nowej tabeli MLTable & skojarzonych plików danych w katalogu z istniejącym plikiem MLTable & skojarzonych plików danych, których katalog nie jest czyszczone przed zapisaniem nowych plików. Istnieje możliwość utrwalonego już plików danych po zapisaniu nowych plików, zwłaszcza jeśli istniejące pliki danych nie mają nazw pasujących do nowych plików danych. Jeśli nowa tabela MLTable zawiera projektator wzorców w jego ścieżkach, może to przypadkowo zmienić tabelę MLTable przez skojarzenie istniejących plików danych z nową tabelą MLTable.

Jeśli ścieżki plików w tej tabeli MLTable wskazują istniejący plik w ścieżce , ale mają inny identyfikator URI, jeśli zastąpienie ma wartość "fail" lub "skip" istniejącego pliku nie zostanie zastąpione (tj. pominięte).

select_partitions

Dodaje krok przekształcenia w celu wybrania partycji.

show

Pobiera pierwsze wiersze zliczanie tej tabeli MLTable jako ramkę danych Biblioteki Pandas.

skip

Dodaje krok przekształcenia umożliwiający pominięcie pierwszych wierszy zliczanych w tej tabeli MLTable.

take

Dodaje krok przekształcenia w celu wybrania pierwszych wierszy zliczanych w tej tabeli MLTable.

take_random_sample

Dodaje krok przekształcenia, aby losowo wybrać każdy wiersz tej tabeli MLTable z prawdopodobieństwem . Prawdopodobieństwo musi być w zakresie [0, 1]. Może opcjonalnie ustawić losowe inicjatory.

to_pandas_dataframe

Załaduj wszystkie rekordy ze ścieżek określonych w pliku MLTable do ramki danych Biblioteki Pandas.

validate

Sprawdza, czy dane tej tabeli MLTable można załadować, wymagają, aby źródła danych tabeli MLTable były dostępne z bieżącego zasobu obliczeniowego.

convert_column_types

Dodaje krok przekształcania, aby przekonwertować określone kolumny na odpowiednie określone nowe typy.


   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)

Parametry

Nazwa Opis
column_types
Wymagane

Słownik kolumny: typ użytkownika, który chce przekonwertować

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem przekształcania

drop_columns

Dodaje krok przekształcania, aby usunąć podane kolumny z zestawu danych. Jeśli pusta lista, krotka lub zestaw nie zostaną usunięte. Zduplikowane kolumny spowodują wyjątek UserErrorException.

Próba porzucania kolumny, która jest MLTable.traits.timestamp_column lub w MLTable.traits.index_columns zgłosi wyjątek UserErrorException.

drop_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametry

Nazwa Opis
columns
Wymagane
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

kolumny do porzucenia z tej tabeli MLTable

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem przekształcania

extract_columns_from_partition_format

Dodaje krok przekształcenia, aby użyć informacji o partycji każdej ścieżki i wyodrębnić je do kolumn w oparciu o określony format partycji.

Część formatu "{column_name}" tworzy kolumnę ciągu i "{column_name:rrrr/MM/dd/HH/mm/ss}" tworzy kolumnę datetime, gdzie "rrrr", "MM", "dd", "HH", "mm" i "ss" są używane do wyodrębniania roku, miesiąca, dnia, godziny, minuty i sekundy dla typu data/godzina.

Format powinien rozpoczynać się od pozycji pierwszego klucza partycji do końca ścieżki pliku. Na przykład na podstawie ścieżki "/Accounts/2019/01/01/data.csv", gdzie partycja jest według nazwy i godziny działu, partition_format="/{Dział}/{PartitionDate:rrrr/MM/dd}/data.csv" tworzy kolumnę ciągu "Dział" z wartością "Accounts" i kolumną daty/godziny "PartitionDate" z wartością "2019-01-01".

extract_columns_from_partition_format(partition_format)

Parametry

Nazwa Opis
partition_format
Wymagane
str

Format partycji używany do wyodrębniania danych do kolumn

Zwraca

Typ Opis

Tabela MLTable, której format partycji jest ustawiony na podany format

filter

Przefiltruj dane, pozostawiając tylko rekordy zgodne z określonym wyrażeniem.

filter(expression)

Parametry

Nazwa Opis
expression
Wymagane

Wyrażenie do obliczenia.

Zwraca

Typ Opis

Tabela MLTable po filtrze

Uwagi

Wyrażenia są uruchamiane przez indeksowanie tabeli mltable z nazwą kolumny. Obsługują one różne funkcje i operatory i można je łączyć przy użyciu operatorów logicznych. Wynikowe wyrażenie zostanie z opóźnieniem obliczone dla każdego rekordu, gdy nastąpi ściąganie danych, a nie miejsce jego definiowania.


   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')

get_partition_count

Zwraca liczbę partycji danych bazowych danych skojarzonych z tą tabelą MLTable.

get_partition_count() -> int

Zwraca

Typ Opis
int

partycje danych w tej tabeli MLTable

keep_columns

Dodaje krok przekształcenia, aby zachować określone kolumny i usunąć wszystkie inne z zestawu danych. Jeśli pusta lista, krotka lub zestaw nie zostaną usunięte. Zduplikowane kolumny spowodują wyjątek UserErrorException.

Jeśli kolumna w MLTable.traits.timestamp_column lub kolumnach w MLTable.traits.index_columns nie jest jawnie przechowywana, wyjątek UserErrorException jest raiesd.

keep_columns(columns: str | List[str] | Tuple[str] | Set[str])

Parametry

Nazwa Opis
columns
Wymagane
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

kolumny w tej tabeli MLTable, aby zachować

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem przekształcania

random_split

Losowo dzieli tę tabelę MLTable na dwie tabele MLTable, z których jedna ma około "procent" danych oryginalnej tabeli MLTable, a drugą z resztą (1–"procent"%).

random_split(percent=0.5, seed=None)

Parametry

Nazwa Opis
percent
Wymagane

procent tabeli MLTable do podziału między

seed
Wymagane

opcjonalne inicjatory losowe

Zwraca

Typ Opis

dwie tabele MLTable z danymi tej tabeli MLTable podzielone między nimi przez "procent"

save

Zapisz tę tabelę MLTable jako plik YAML MLTable & ścieżki z ssoicated do podanej ścieżki katalogu.

Jeśli ścieżka nie zostanie podana, zostanie ustawiona wartość domyślna bieżącego katalogu roboczego. Jeśli ścieżka nie istnieje, zostanie utworzona. Jeśli ścieżka jest zdalna, źródłowy magazyn danych musi już istnieć. Jeśli ścieżka jest katalogiem lokalnym, & nie jest bezwzględna, jest ona bezwzględna.

Jeśli ścieżka wskazuje plik, zostanie zgłoszony wyjątek UserErrorException. Jeśli ścieżka jest ścieżką katalogu, która zawiera już jeden lub więcej plików zapisywanych (w tym plik YAML w tabeli MLTable), a zastąpienie jest ustawione na wartość False lub "fail" — zgłaszany jest wyjątek UserErrorException. Jeśli ścieżka jest zdalna, wszystkie ścieżki plików lokalnych, które nie są podane jako ścieżka kolokowana (ścieżka pliku względem katalogu, z którego została załadowana tabela MLTable), zgłosi wyjątek UserErrorException.

kolokowane steruje sposobem zapisywania skojarzonych ścieżek do ścieżki. Jeśli wartość True, pliki są kopiowane do ścieżki wraz z plikiem YAML tabeli MLTable jako ścieżki plików względnych. W przeciwnym razie skojarzone pliki nie są kopiowane, ścieżki zdalne pozostają podane, a lokalne ścieżki plików są wykonywane względnie z przekierowaniem ścieżki w razie potrzeby. Należy pamiętać, że wartość False może spowodować, że nieprzydzielone pliki YAML tabeli MLTable nie są zalecane, a ponadto jeśli ścieżka jest zdalna, spowoduje to wyjątek UserErrorException, ponieważ przekierowanie ścieżki względnej nie jest obsługiwane w przypadku zdalnych identyfikatorów URI.

Należy pamiętać, że jeśli tabela MLTable jest tworzona programowo przy użyciu metod takich jak from_paths() lub from_read_delimited_files() z lokalnymi ścieżkami względnymi, zakłada się, że ścieżka katalogu MLTable jest bieżącym katalogiem roboczym.

Podczas zapisywania nowej tabeli MLTable & skojarzonych plików danych w katalogu z istniejącym plikiem MLTable & skojarzonych plików danych, których katalog nie jest czyszczone przed zapisaniem nowych plików. Istnieje możliwość utrwalonego już plików danych po zapisaniu nowych plików, zwłaszcza jeśli istniejące pliki danych nie mają nazw pasujących do nowych plików danych. Jeśli nowa tabela MLTable zawiera projektator wzorców w jego ścieżkach, może to przypadkowo zmienić tabelę MLTable przez skojarzenie istniejących plików danych z nową tabelą MLTable.

Jeśli ścieżki plików w tej tabeli MLTable wskazują istniejący plik w ścieżce , ale mają inny identyfikator URI, jeśli zastąpienie ma wartość "fail" lub "skip" istniejącego pliku nie zostanie zastąpione (tj. pominięte).

save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)

Parametry

Nazwa Opis
path
Wymagane
str

ścieżka katalogu do zapisania do, domyślnie do bieżącego katalogu roboczego

colocated
Wymagane

Jeśli wartość True, zapisuje kopie lokalnych & zdalnych ścieżek plików w tej tabeli MLTable w ścieżce jako ścieżki względne. W przeciwnym razie nie ma miejsca kopiowania plików, a ścieżki plików zdalnych są zapisywane jako podane do zapisanego pliku YAML MLTable i lokalnych ścieżek plików jako względnych ścieżek plików z przekierowaniem ścieżki. Jeśli ścieżka jest zdalna & ta tabela MLTable zawiera lokalne ścieżki plików, zostanie zgłoszony wyjątek UserErrorException.

overwrite
Wymagane
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]

Sposób obsługi istniejącego pliku YAML tabeli MLTable i skojarzonych plików, które mogą już istnieć w ścieżce . Opcje to "overwrite" (lub True), aby zastąpić wszystkie istniejące pliki, "niepowodzenie" (lub fałsz), aby zgłosić błąd, jeśli plik już istnieje lub "pomiń", aby pozostawić istniejące pliki tak, jak to jest. Można również ustawić parametr za pomocą polecenia <xref:mltable.MLTableSaveOverwriteOptions>.

show_progress
Wymagane

Wyświetla postęp kopiowania do stdout

if_err_remove_files
Wymagane

jeśli podczas zapisywania wystąpi jakikolwiek błąd, usunięto wszystkie pomyślnie zapisane pliki, aby wykonać operację niepodzielna

Zwraca

Typ Opis

to wystąpienie tabeli MLTable

select_partitions

Dodaje krok przekształcenia w celu wybrania partycji.

select_partitions(partition_index_list)

Parametry

Nazwa Opis
partition_index_list
Wymagane
list of int

lista indeksu partycji

Zwraca

Typ Opis

Tabela MLTable ze zaktualizowanym rozmiarem partycji

Uwagi

Poniższy fragment kodu pokazuje, jak używać interfejsu API select_partitions do wybranych partycji z podanej tabeli MLTable.


   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)

show

Pobiera pierwsze wiersze zliczanie tej tabeli MLTable jako ramkę danych Biblioteki Pandas.

show(count=20)

Parametry

Nazwa Opis
count
Wymagane
int

liczba wierszy w górnej części tabeli do wybrania

Zwraca

Typ Opis
<xref:Pandas> <xref:Dataframe>

liczba pierwszych wierszy tabeli MLTable

skip

Dodaje krok przekształcenia umożliwiający pominięcie pierwszych wierszy zliczanych w tej tabeli MLTable.

skip(count)

Parametry

Nazwa Opis
count
Wymagane
int

liczba wierszy do pominięcia

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem przekształcania

take

Dodaje krok przekształcenia w celu wybrania pierwszych wierszy zliczanych w tej tabeli MLTable.

take(count=20)

Parametry

Nazwa Opis
count
Wymagane
int

liczba wierszy w górnej części tabeli do wybrania

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem transformacji "take"

take_random_sample

Dodaje krok przekształcenia, aby losowo wybrać każdy wiersz tej tabeli MLTable z prawdopodobieństwem . Prawdopodobieństwo musi być w zakresie [0, 1]. Może opcjonalnie ustawić losowe inicjatory.

take_random_sample(probability, seed=None)

Parametry

Nazwa Opis
probability
Wymagane

prawdopodobieństwo wybrania każdego wiersza

seed
Wymagane

opcjonalne inicjatory losowe

Zwraca

Typ Opis

Tabela MLTable z dodanym krokiem przekształcania

to_pandas_dataframe

Załaduj wszystkie rekordy ze ścieżek określonych w pliku MLTable do ramki danych Biblioteki Pandas.

to_pandas_dataframe()

Zwraca

Typ Opis

Ramka danych biblioteki Pandas zawierająca rekordy ze ścieżek w tej tabeli MLTable

Uwagi

Poniższy fragment kodu pokazuje, jak za pomocą interfejsu API to_pandas_dataframe uzyskać ramkę danych biblioteki pandas odpowiadającą podanej tabeli MLTable.


   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)

validate

Sprawdza, czy dane tej tabeli MLTable można załadować, wymagają, aby źródła danych tabeli MLTable były dostępne z bieżącego zasobu obliczeniowego.

validate()

Zwraca

Typ Opis

Brak

Atrybuty

partition_keys

Zwróć klucze partycji.

Zwraca

Typ Opis

klucze partycji

paths

Zwraca listę słowników zawierających oryginalne ścieżki podane do tej tabeli MLTable. Zakłada się, że względne ścieżki plików lokalnych są względne względem katalogu, z którego plik MLTable YAML został załadowany z tego wystąpienia tabeli MLTable.

Zwraca

Typ Opis

lista dykt zawierających ścieżki określone w tabeli MLTable