MLTable Klasse
Stellt eine MLTable dar.
Eine MLTable definiert eine Reihe von lazily ausgewerteten, unveränderlichen Vorgängen zum Laden von Daten aus der Datenquelle. Daten werden erst aus der Quelle geladen, wenn MLTable aufgefordert wird, Daten zu übermitteln.
Initialisieren Sie eine neue MLTable.
Dieser Konstruktor sollte nicht direkt aufgerufen werden. MLTable soll mit loaderstellt werden.
- Vererbung
-
builtins.objectMLTable
Konstruktor
MLTable()
Methoden
convert_column_types |
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten in die jeweils angegebenen neuen Typen zu konvertieren.
|
drop_columns |
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten aus dem Dataset zu löschen. Wenn eine leere Liste, ein Tupel oder eine leere Menge angegeben wird, wird nichts gelöscht. Doppelte Spalten lösen eine UserErrorException aus. Wenn Sie versuchen, eine Spalte zu löschen, die MLTable.traits.timestamp_column oder in MLTable.traits.index_columns ist, wird eine UserErrorException ausgelöst. |
extract_columns_from_partition_format |
Fügt einen Transformationsschritt hinzu, um die Partitionsinformationen jedes Pfads zu verwenden und sie basierend auf dem angegebenen Partitionsformat in Spalten zu extrahieren. Mit dem Formatteil „{column_name}“ wird eine Zeichenfolgenspalte erstellt, und „{column_name:yyyyyy/MM/dd/HH/mm/ss}“ erstellt eine datetime-Spalte, wobei „yyyy“, „MM“, „dd“, „HH“, „mm“ und „ss“ verwendet werden, um Jahr, Monat, Tag, Stunde, Minute und Sekunde für den datetime-Typ zu extrahieren. Das Format muss an der Position des ersten Partitionsschlüssels beginnen und bis zum Ende des Dateipfads reichen. Beispiel: In Anbetracht des Pfads "/Accounts/2019/01/01/data.csv", bei dem die Partition nach Abteilungsname und -uhrzeit angegeben ist, partition_format='/{Department}/{PartitionDate:yyyy/MM/tt}/data.csv" erstellt eine Zeichenfolgenspalte "Department" mit dem Wert "Accounts" und eine datetime-Spalte "PartitionDate" mit dem Wert "2019-01-01". |
filter |
Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen. |
get_partition_count |
Gibt die Anzahl der Datenpartitionen zurück, die den Daten zugrunde liegen, die dieser MLTable zugeordnet sind. |
keep_columns |
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten beizubehalten und alle anderen aus dem Dataset zu löschen. Wenn eine leere Liste, ein Tupel oder eine leere Menge angegeben wird, wird nichts gelöscht. Doppelte Spalten lösen eine UserErrorException aus. Wenn Spalten in MLTable.traits.timestamp_column oder Spalten in MLTable.traits.index_columns nicht explizit beibehalten werden, wird eine UserErrorException erstellt. |
random_split |
Teilt diese MLTable nach dem Zufallsprinzip in zwei MLTables auf, von denen eine etwa "Prozent" % der ursprünglichen MLTable-Daten und die andere den Rest (1-"Prozent") aufweist. |
save |
Speichern Sie diese MLTable als MLTable-YAML-Datei & den zugeordneten Pfaden zum angegebenen Verzeichnispfad. Wenn kein Pfad angegeben wird, wird standardmäßig das aktuelle Arbeitsverzeichnis verwendet. Wenn der Pfad nicht vorhanden ist, wird er erstellt. Wenn der Pfad remote ist, muss der zugrunde liegende Datenspeicher bereits vorhanden sein. Wenn path ein lokales Verzeichnis ist& nicht absolut ist, wird er als absolut festgelegt. Wenn der Pfad auf eine Datei verweist, wird eine UserErrorException ausgelöst. Wenn path ein Verzeichnispfad ist, der bereits eine oder mehrere gespeicherte Dateien enthält (einschließlich der MLTable-YAML-Datei), und das Überschreiben auf False oder "fail" festgelegt ist, wird eine UserErrorException ausgelöst. Wenn pfad remote ist, lösen alle lokalen Dateipfade, die nicht als gemeinsam zugeordneten Pfad angegeben sind (Dateipfad relativ zum Verzeichnis, aus dem MLTable geladen wurde) eine UserErrorException aus. Die gemeinsame Zuordnung steuert, wie zugeordnete Pfade im Pfad gespeichert werden. Bei True werden Dateien zusammen mit der MLTable-YAML-Datei als relative Dateipfade in den Pfad kopiert. Andernfalls werden zugeordnete Dateien nicht kopiert, Remotepfade bleiben wie angegeben, und lokale Dateipfade werden bei Bedarf mit Pfadumleitung relativiert. Beachten Sie, dass False zu nicht kolonierten MLTable-YAML-Dateien führen kann, was nicht empfohlen wird. Wenn der Pfad remote ist, führt dies zu einer UserErrorException, da die relative Pfadumleitung für Remote-URIs nicht unterstützt wird. Wenn die MLTable programmgesteuert mit Methoden wie from_paths() oder from_read_delimited_files() mit lokalen relativen Pfaden erstellt wird, wird davon ausgegangen, dass der MLTable-Verzeichnispfad das aktuelle Arbeitsverzeichnis ist. Achten Sie beim Speichern einer neuen MLTable & zugeordneten Datendateien in einem Verzeichnis mit einer vorhandenen MLTable-Datei & zugeordneten Datendateien darauf, dass das Verzeichnis vor dem Speichern der neuen Dateien nicht von vorhandenen Dateien gelöscht wird. Es ist möglich, dass bereits vorhandene Datendateien nach dem Speichern der neuen Dateien beibehalten werden, insbesondere wenn vorhandene Datendateien keine Namen haben, die mit neuen Datendateien übereinstimmen. Wenn die neue MLTable einen Musterbezeichner unter ihren Pfaden enthält, kann dies unbeabsichtigt die MLTable ändern, indem vorhandene Datendateien der neuen MLTable zugeordnet werden. Wenn Dateipfade in dieser MLTable auf eine vorhandene Datei im Pfad verweisen, aber einen anderen URI aufweisen, wird die vorhandene Datei nicht überschrieben (d. h. übersprungen). |
select_partitions |
Fügt einen Transformationsschritt hinzu, um die Partition auszuwählen. |
show |
Ruft die ersten Anzahlzeilen dieser MLTable als Pandas-Dataframe ab. |
skip |
Fügt einen Transformationsschritt hinzu, um die ersten Zählungszeilen dieser MLTable zu überspringen. |
take |
Fügt einen Transformationsschritt hinzu, um die ersten Anzahlzeilen dieser MLTable auszuwählen. |
take_random_sample |
Fügt einen Transformationsschritt hinzu, um jede Zeile dieser MLTable mit Wahrscheinlichkeit zufällig auszuwählen. Die Wahrscheinlichkeit muss im Bereich [0, 1] liegen. Kann optional einen zufälligen Seed festlegen. |
to_pandas_dataframe |
Laden Sie alle Datensätze aus den in der MLTable-Datei angegebenen Pfaden in einen Pandas-DataFrame. |
validate |
Überprüft, ob die Daten dieser MLTable geladen werden können, und erfordert, dass auf die Datenquelle(en) der MLTable von der aktuellen Compute aus zugegriffen werden kann. |
convert_column_types
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten in die jeweils angegebenen neuen Typen zu konvertieren.
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)
Parameter
Wörterbuch der Spalte: Typen, die der Benutzer konvertieren möchte
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt
Rückgabetyp
drop_columns
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten aus dem Dataset zu löschen. Wenn eine leere Liste, ein Tupel oder eine leere Menge angegeben wird, wird nichts gelöscht. Doppelte Spalten lösen eine UserErrorException aus.
Wenn Sie versuchen, eine Spalte zu löschen, die MLTable.traits.timestamp_column oder in MLTable.traits.index_columns ist, wird eine UserErrorException ausgelöst.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parameter
Spalten, die aus dieser MLTable gelöscht werden sollen
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt
Rückgabetyp
extract_columns_from_partition_format
Fügt einen Transformationsschritt hinzu, um die Partitionsinformationen jedes Pfads zu verwenden und sie basierend auf dem angegebenen Partitionsformat in Spalten zu extrahieren.
Mit dem Formatteil „{column_name}“ wird eine Zeichenfolgenspalte erstellt, und „{column_name:yyyyyy/MM/dd/HH/mm/ss}“ erstellt eine datetime-Spalte, wobei „yyyy“, „MM“, „dd“, „HH“, „mm“ und „ss“ verwendet werden, um Jahr, Monat, Tag, Stunde, Minute und Sekunde für den datetime-Typ zu extrahieren.
Das Format muss an der Position des ersten Partitionsschlüssels beginnen und bis zum Ende des Dateipfads reichen. Beispiel: In Anbetracht des Pfads "/Accounts/2019/01/01/data.csv", bei dem die Partition nach Abteilungsname und -uhrzeit angegeben ist, partition_format='/{Department}/{PartitionDate:yyyy/MM/tt}/data.csv" erstellt eine Zeichenfolgenspalte "Department" mit dem Wert "Accounts" und eine datetime-Spalte "PartitionDate" mit dem Wert "2019-01-01".
extract_columns_from_partition_format(partition_format)
Parameter
Gibt zurück
MLTable, deren Partitionsformat auf das angegebene Format festgelegt ist
Rückgabetyp
filter
Filtern Sie die Daten, und lassen Sie nur die Datensätze zurück, die mit dem angegebenen Ausdruck übereinstimmen.
filter(expression)
Parameter
Gibt zurück
MLTable nach dem Filter
Rückgabetyp
Hinweise
Ausdrücke werden gestartet, indem die mltable mit dem Namen einer Spalte indiziert wird. Sie unterstützen eine Vielzahl von Funktionen und Operatoren und können mithilfe von logischen Operatoren kombiniert werden. Der resultierende Ausdruck wird verzögert für jeden Datensatz ausgewertet, wenn ein Datenpullvorgang erfolgt, und nicht an der Stelle, an der er definiert ist.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Gibt die Anzahl der Datenpartitionen zurück, die den Daten zugrunde liegen, die dieser MLTable zugeordnet sind.
get_partition_count() -> int
Gibt zurück
Datenpartitionen in dieser MLTable
Rückgabetyp
keep_columns
Fügt einen Transformationsschritt hinzu, um die angegebenen Spalten beizubehalten und alle anderen aus dem Dataset zu löschen. Wenn eine leere Liste, ein Tupel oder eine leere Menge angegeben wird, wird nichts gelöscht. Doppelte Spalten lösen eine UserErrorException aus.
Wenn Spalten in MLTable.traits.timestamp_column oder Spalten in MLTable.traits.index_columns nicht explizit beibehalten werden, wird eine UserErrorException erstellt.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parameter
zu behaltende Spalten in dieser MLTable
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt
Rückgabetyp
random_split
Teilt diese MLTable nach dem Zufallsprinzip in zwei MLTables auf, von denen eine etwa "Prozent" % der ursprünglichen MLTable-Daten und die andere den Rest (1-"Prozent") aufweist.
random_split(percent=0.5, seed=None)
Parameter
Gibt zurück
Zwei MLTables mit der Datenteilung dieser MLTable durch "Prozent"
Rückgabetyp
save
Speichern Sie diese MLTable als MLTable-YAML-Datei & den zugeordneten Pfaden zum angegebenen Verzeichnispfad.
Wenn kein Pfad angegeben wird, wird standardmäßig das aktuelle Arbeitsverzeichnis verwendet. Wenn der Pfad nicht vorhanden ist, wird er erstellt. Wenn der Pfad remote ist, muss der zugrunde liegende Datenspeicher bereits vorhanden sein. Wenn path ein lokales Verzeichnis ist& nicht absolut ist, wird er als absolut festgelegt.
Wenn der Pfad auf eine Datei verweist, wird eine UserErrorException ausgelöst. Wenn path ein Verzeichnispfad ist, der bereits eine oder mehrere gespeicherte Dateien enthält (einschließlich der MLTable-YAML-Datei), und das Überschreiben auf False oder "fail" festgelegt ist, wird eine UserErrorException ausgelöst. Wenn pfad remote ist, lösen alle lokalen Dateipfade, die nicht als gemeinsam zugeordneten Pfad angegeben sind (Dateipfad relativ zum Verzeichnis, aus dem MLTable geladen wurde) eine UserErrorException aus.
Die gemeinsame Zuordnung steuert, wie zugeordnete Pfade im Pfad gespeichert werden. Bei True werden Dateien zusammen mit der MLTable-YAML-Datei als relative Dateipfade in den Pfad kopiert. Andernfalls werden zugeordnete Dateien nicht kopiert, Remotepfade bleiben wie angegeben, und lokale Dateipfade werden bei Bedarf mit Pfadumleitung relativiert. Beachten Sie, dass False zu nicht kolonierten MLTable-YAML-Dateien führen kann, was nicht empfohlen wird. Wenn der Pfad remote ist, führt dies zu einer UserErrorException, da die relative Pfadumleitung für Remote-URIs nicht unterstützt wird.
Wenn die MLTable programmgesteuert mit Methoden wie from_paths() oder from_read_delimited_files() mit lokalen relativen Pfaden erstellt wird, wird davon ausgegangen, dass der MLTable-Verzeichnispfad das aktuelle Arbeitsverzeichnis ist.
Achten Sie beim Speichern einer neuen MLTable & zugeordneten Datendateien in einem Verzeichnis mit einer vorhandenen MLTable-Datei & zugeordneten Datendateien darauf, dass das Verzeichnis vor dem Speichern der neuen Dateien nicht von vorhandenen Dateien gelöscht wird. Es ist möglich, dass bereits vorhandene Datendateien nach dem Speichern der neuen Dateien beibehalten werden, insbesondere wenn vorhandene Datendateien keine Namen haben, die mit neuen Datendateien übereinstimmen. Wenn die neue MLTable einen Musterbezeichner unter ihren Pfaden enthält, kann dies unbeabsichtigt die MLTable ändern, indem vorhandene Datendateien der neuen MLTable zugeordnet werden.
Wenn Dateipfade in dieser MLTable auf eine vorhandene Datei im Pfad verweisen, aber einen anderen URI aufweisen, wird die vorhandene Datei nicht überschrieben (d. h. übersprungen).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parameter
- path
- str
Verzeichnispfad, in dem gespeichert werden soll, standard auf aktuelles Arbeitsverzeichnis
- colocated
- bool
Wenn True, speichert Kopien von lokalen & Remotedateipfaden in dieser MLTable unter path als relative Pfade. Andernfalls erfolgt kein Kopieren von Dateien, und Remotedateipfade werden wie angegeben für die gespeicherten MLTable-YAML-Dateipfade und lokale Dateipfade als relative Dateipfade mit Pfadumleitung gespeichert. Wenn pfad remote ist & diese MLTable lokale Dateipfade enthält, wird eine UserErrorException ausgelöst.
- overwrite
- Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Wie eine vorhandene MLTable-YAML-Datei und zugehörige Dateien, die möglicherweise bereits unter dem Pfad vorhanden sind, behandelt werden. Optionen sind "Overwrite" (oder True), um vorhandene Dateien zu ersetzen, "fail" (oder False), um einen Fehler auszulösen, wenn eine Datei bereits vorhanden ist, oder "überspringen", um vorhandene Dateien unverändert zu belassen. Kann auch mit festgelegt werden <xref:mltable.MLTableSaveOverwriteOptions>.
- if_err_remove_files
- bool
Wenn beim Speichern ein Fehler auftritt, wurden alle erfolgreich gespeicherten Dateien entfernt, um den Vorgang atomar zu machen.
Gibt zurück
dieses MLTable-instance
Rückgabetyp
select_partitions
Fügt einen Transformationsschritt hinzu, um die Partition auszuwählen.
select_partitions(partition_index_list)
Parameter
Gibt zurück
MLTable mit aktualisierter Partitionsgröße
Rückgabetyp
Hinweise
Der folgende Codeausschnitt zeigt, wie Die select_partitions-API für ausgewählte Partitionen aus der bereitgestellten MLTable verwendet wird.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Ruft die ersten Anzahlzeilen dieser MLTable als Pandas-Dataframe ab.
show(count=20)
Parameter
Gibt zurück
Erste Anzahl der Zeilen der MLTable
Rückgabetyp
skip
Fügt einen Transformationsschritt hinzu, um die ersten Zählungszeilen dieser MLTable zu überspringen.
skip(count)
Parameter
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt
take
Fügt einen Transformationsschritt hinzu, um die ersten Anzahlzeilen dieser MLTable auszuwählen.
take(count=20)
Parameter
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt "take"
Rückgabetyp
take_random_sample
Fügt einen Transformationsschritt hinzu, um jede Zeile dieser MLTable mit Wahrscheinlichkeit zufällig auszuwählen. Die Wahrscheinlichkeit muss im Bereich [0, 1] liegen. Kann optional einen zufälligen Seed festlegen.
take_random_sample(probability, seed=None)
Parameter
- probability
Chance, dass jede Zeile ausgewählt ist
Gibt zurück
MLTable mit hinzugefügtem Transformationsschritt
Rückgabetyp
to_pandas_dataframe
Laden Sie alle Datensätze aus den in der MLTable-Datei angegebenen Pfaden in einen Pandas-DataFrame.
to_pandas_dataframe()
Gibt zurück
Pandas-Dataframe mit den Datensätzen aus Pfaden in dieser MLTable
Rückgabetyp
Hinweise
Der folgende Codeausschnitt zeigt, wie Sie die to_pandas_dataframe-API verwenden, um einen Pandas-Dataframe zu erhalten, der der bereitgestellten MLTable entspricht.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Überprüft, ob die Daten dieser MLTable geladen werden können, und erfordert, dass auf die Datenquelle(en) der MLTable von der aktuellen Compute aus zugegriffen werden kann.
validate()
Gibt zurück
Keine
Rückgabetyp
Attribute
partition_keys
paths
Gibt eine Liste von Wörterbüchern zurück, die die ursprünglichen Pfade für diese MLTable enthalten. Es wird davon ausgegangen, dass relative lokale Dateipfade relativ zu dem Verzeichnis sind, aus dem die MLTable-YAML-Datei geladen wurde, aus der diese MLTable instance.
Gibt zurück
Liste der Diktats, die in der MLTable angegebene Pfade enthalten
Rückgabetyp
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für