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.objectMLTable
Konstruktor
MLTable()
Metody
convert_column_types |
Dodaje krok przekształcania, aby przekonwertować określone kolumny na odpowiednie określone nowe typy.
|
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
|
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
|
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 |
---|---|
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
|
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
|
ś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
|
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
|
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
|
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
|
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
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 |