MLTable Klas
Vertegenwoordigt een MLTable.
Een MLTable definieert een reeks lazily-geëvalueerde, onveranderbare bewerkingen om gegevens uit de gegevensbron te laden. Gegevens worden pas vanuit de bron geladen als MLTable wordt gevraagd om gegevens te leveren.
Initialiseer een nieuwe MLTable.
Deze constructor mag niet rechtstreeks worden aangeroepen. MLTable is bedoeld om te worden gemaakt met behulp van load.
Constructor
MLTable()
	Methoden
| convert_column_types | 
					 Voegt een transformatiestap toe om de opgegeven kolommen te converteren naar hun respectieve opgegeven nieuwe typen. 
				 | 
			
| drop_columns | 
					 Hiermee voegt u een transformatiestap toe om de opgegeven kolommen uit de gegevensset te verwijderen. Als er een lege lijst, tuple of set wordt gegeven, wordt er niets verwijderd. Dubbele kolommen genereren een UserErrorException. Als u een kolom probeert neer te zetten die MLTable.traits.timestamp_column of in MLTable.traits.index_columns, wordt een UserErrorException weergegeven.  | 
			
| extract_columns_from_partition_format | 
					 Voegt een transformatiestap toe om de partitiegegevens van elk pad te gebruiken en deze te extraheren in kolommen op basis van de opgegeven partitieindeling. Als onderdeel {column_name} wordt een tekenreekskolom gemaakt en {column_name:jjjj/MM/dd/HH/mm/ss} wordt een datum/tijdkolom gemaakt, waarbij 'jjjj', 'MM', 'dd', 'uu', 'mm' en 'ss' worden gebruikt voor het extraheren van jaar, maand, dag, uur en seconde voor het datum/tijd-type. De indeling moet beginnen vanaf de positie van de eerste partitiesleutel tot het einde van het bestandspad. Bijvoorbeeld, op basis van het pad '/Accounts/2019/01/01/data.csv' waar de partitie is op afdelingsnaam en -tijd, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' maakt een tekenreekskolom 'Afdeling' met de waarde 'Accounts' en een datum/tijd-kolom 'PartitionDate' met de waarde '2019-01-01'.  | 
			
| filter | 
					 Filter de gegevens en laat alleen de records die overeenkomen met de opgegeven expressie.  | 
			
| get_partition_count | 
					 Retourneert het aantal gegevenspartities dat aan deze MLTable is gekoppeld.  | 
			
| keep_columns | 
					 Hiermee voegt u een transformatiestap toe om de opgegeven kolommen te behouden en alle andere kolommen uit de gegevensset te verwijderen. Als er een lege lijst, tuple of set wordt gegeven, wordt er niets verwijderd. Dubbele kolommen genereren een UserErrorException. Als de kolom in MLTable.traits.timestamp_column of kolommen in MLTable.traits.index_columns niet expliciet wordt bewaard, wordt een UserErrorException gehandhaafd.  | 
			
| random_split | 
					 Splitst deze MLTable willekeurig op in twee MLTables, één met ongeveer 'percentage'% van de gegevens van de oorspronkelijke MLTable en de andere met de rest (1-'percent'%).  | 
			
| save | 
					 Sla deze MLTable op als een MLTable YAML-bestand en de assoicated paden naar het opgegeven mappad. Als het pad niet is opgegeven, wordt standaard de huidige werkmap gebruikt. Als het pad niet bestaat, wordt het gemaakt. Als het pad extern is, moet het onderliggende gegevensarchief al bestaan. Als het pad een lokale map is en niet absoluut is, wordt het absoluut gemaakt. Als het pad naar een bestand verwijst, wordt er een UserErrorException gegenereerd. Als het pad een mappad is dat al een of meer bestanden bevat die worden opgeslagen (inclusief het YAML-bestand van MLTable) en overschrijven is ingesteld op Onwaar of 'fail', wordt er een UserErrorException gegenereerd. Als het pad extern is, worden lokale bestandspaden die niet zijn opgegeven als een pad in een punt (bestandspad ten opzichte van de map waaruit MLTable is geladen) een UserErrorException genereren. Hiermee bepaalt u hoe gekoppelde paden worden opgeslagen in het pad. Indien waar, worden bestanden gekopieerd naar het pad naast het MLTable YAML-bestand als relatieve bestandspaden. Anders worden gekoppelde bestanden niet gekopieerd, blijven externe paden ongewijzigd en worden lokale bestandspaden indien nodig relatief gemaakt met padomleiding. Houd er rekening mee dat Onwaar kan leiden tot niet-colocated MLTable YAML-bestanden die niet worden aanbevolen, bovendien als het pad extern is, resulteert dit in een UserErrorException omdat relatieve padomleiding niet wordt ondersteund voor externe URI's. Als de MLTable programmatisch wordt gemaakt met methoden zoals from_paths() of from_read_delimited_files() met lokale relatieve paden, wordt ervan uitgegaan dat het MLTable-mappad de huidige werkmap is. Houd er rekening mee wanneer u een nieuwe MLTable- en gekoppelde gegevensbestanden opslaat in een map met een bestaand MLTable-bestand en gekoppelde gegevensbestanden die niet door de map worden gewist voordat u de nieuwe bestanden opslaat. Het is mogelijk dat bestaande gegevensbestanden behouden blijven na het opslaan van de nieuwe bestanden, met name als bestaande gegevensbestanden geen namen hebben die overeenkomen met nieuwe gegevensbestanden. Als de nieuwe MLTable een patroonontwerp onder de paden bevat, kan dit onbedoeld de MLTable wijzigen door bestaande gegevensbestanden te koppelen aan de nieuwe MLTable. Als bestandspaden in deze MLTable verwijzen naar een bestaand bestand in pad , maar een andere URI hebben, wordt het bestaande bestand niet overschreven als overschrijven mislukt of overslaan wordt het bestaande bestand niet overschreven (bijvoorbeeld overgeslagen).  | 
			
| select_partitions | 
					 Hiermee voegt u een transformatiestap toe om de partitie te selecteren.  | 
			
| show | 
					 Haalt de eerste tellingsrijen van deze MLTable op als een Pandas Dataframe.  | 
			
| skip | 
					 Voegt een transformatiestap toe om de eerste tellingsrijen van deze MLTable over te slaan.  | 
			
| take | 
					 Hiermee voegt u een transformatiestap toe om de eerste tellingsrijen van deze MLTable te selecteren.  | 
			
| take_random_sample | 
					 Hiermee voegt u een transformatiestap toe om elke rij van deze MLTable willekeurig te selecteren met waarschijnlijkheidskans . Waarschijnlijkheid moet liggen in het bereik [0, 1]. Kan eventueel een willekeurig zaad instellen.  | 
			
| to_pandas_dataframe | 
					 Laad alle records uit de paden die in het MLTable-bestand zijn opgegeven in een Pandas DataFrame.  | 
			
| validate | 
					 Valideert of de gegevens van deze MLTable kunnen worden geladen. Hiervoor moeten de gegevensbronnen van de MLTable toegankelijk zijn vanaf de huidige berekening.  | 
			
convert_column_types
Voegt een transformatiestap toe om de opgegeven kolommen te converteren naar hun respectieve opgegeven nieuwe typen.
   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)
		Parameters
| Name | Description | 
|---|---|
| 
		 column_types 
			
				Vereist
			 
	 | 
	
		
		 Woordenlijst van kolom: typt de gebruikerswensen om te converteren  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde transformatiestap  | 
		
drop_columns
Hiermee voegt u een transformatiestap toe om de opgegeven kolommen uit de gegevensset te verwijderen. Als er een lege lijst, tuple of set wordt gegeven, wordt er niets verwijderd. Dubbele kolommen genereren een UserErrorException.
Als u een kolom probeert neer te zetten die MLTable.traits.timestamp_column of in MLTable.traits.index_columns, wordt een UserErrorException weergegeven.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
		Parameters
| Name | Description | 
|---|---|
| 
		 columns 
			
				Vereist
			 
	 | 
	
		
		 kolom(en) die uit deze MLTable moeten worden verwijderd  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde transformatiestap  | 
		
extract_columns_from_partition_format
Voegt een transformatiestap toe om de partitiegegevens van elk pad te gebruiken en deze te extraheren in kolommen op basis van de opgegeven partitieindeling.
Als onderdeel {column_name} wordt een tekenreekskolom gemaakt en {column_name:jjjj/MM/dd/HH/mm/ss} wordt een datum/tijdkolom gemaakt, waarbij 'jjjj', 'MM', 'dd', 'uu', 'mm' en 'ss' worden gebruikt voor het extraheren van jaar, maand, dag, uur en seconde voor het datum/tijd-type.
De indeling moet beginnen vanaf de positie van de eerste partitiesleutel tot het einde van het bestandspad. Bijvoorbeeld, op basis van het pad '/Accounts/2019/01/01/data.csv' waar de partitie is op afdelingsnaam en -tijd, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' maakt een tekenreekskolom 'Afdeling' met de waarde 'Accounts' en een datum/tijd-kolom 'PartitionDate' met de waarde '2019-01-01'.
extract_columns_from_partition_format(partition_format)
		Parameters
| Name | Description | 
|---|---|
| 
		 partition_format 
			
				Vereist
			 
	 | 
	
		
		 Partitie-indeling voor het extraheren van gegevens in kolommen  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable waarvan de partitieindeling is ingesteld op de opgegeven indeling  | 
		
filter
Filter de gegevens en laat alleen de records die overeenkomen met de opgegeven expressie.
filter(expression)
		Parameters
| Name | Description | 
|---|---|
| 
		 expression 
			
				Vereist
			 
	 | 
	
		
		 De expressie die moet worden geëvalueerd.  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable na filter  | 
		
Opmerkingen
Expressies worden gestart door de mltable te indexeren met de naam van een kolom. Ze ondersteunen diverse functies en operators en kunnen worden gecombineerd met logische operators. De resulterende expressie wordt lazily geëvalueerd voor elke record wanneer een gegevens pull plaatsvindt en niet waar deze is gedefinieerd.
   filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
   filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Retourneert het aantal gegevenspartities dat aan deze MLTable is gekoppeld.
get_partition_count() -> int
Retouren
| Type | Description | 
|---|---|
| 
					 gegevenspartities in deze MLTable  | 
		
keep_columns
Hiermee voegt u een transformatiestap toe om de opgegeven kolommen te behouden en alle andere kolommen uit de gegevensset te verwijderen. Als er een lege lijst, tuple of set wordt gegeven, wordt er niets verwijderd. Dubbele kolommen genereren een UserErrorException.
Als de kolom in MLTable.traits.timestamp_column of kolommen in MLTable.traits.index_columns niet expliciet wordt bewaard, wordt een UserErrorException gehandhaafd.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
		Parameters
| Name | Description | 
|---|---|
| 
		 columns 
			
				Vereist
			 
	 | 
	
		
		 kolommen in deze MLTable om te behouden  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde transformatiestap  | 
		
random_split
Splitst deze MLTable willekeurig op in twee MLTables, één met ongeveer 'percentage'% van de gegevens van de oorspronkelijke MLTable en de andere met de rest (1-'percent'%).
random_split(percent=0.5, seed=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 percent 
			
				Vereist
			 
	 | 
	
		
		 percentage van de MLTable om te splitsen tussen  | 
| 
		 seed 
			
				Vereist
			 
	 | 
	
		
		 optionele willekeurige seed  | 
Retouren
| Type | Description | 
|---|---|
| 
					 twee MLTables met de gegevens van deze MLTable die zijn gesplitst met 'percentage'  | 
		
save
Sla deze MLTable op als een MLTable YAML-bestand en de assoicated paden naar het opgegeven mappad.
Als het pad niet is opgegeven, wordt standaard de huidige werkmap gebruikt. Als het pad niet bestaat, wordt het gemaakt. Als het pad extern is, moet het onderliggende gegevensarchief al bestaan. Als het pad een lokale map is en niet absoluut is, wordt het absoluut gemaakt.
Als het pad naar een bestand verwijst, wordt er een UserErrorException gegenereerd. Als het pad een mappad is dat al een of meer bestanden bevat die worden opgeslagen (inclusief het YAML-bestand van MLTable) en overschrijven is ingesteld op Onwaar of 'fail', wordt er een UserErrorException gegenereerd. Als het pad extern is, worden lokale bestandspaden die niet zijn opgegeven als een pad in een punt (bestandspad ten opzichte van de map waaruit MLTable is geladen) een UserErrorException genereren.
Hiermee bepaalt u hoe gekoppelde paden worden opgeslagen in het pad. Indien waar, worden bestanden gekopieerd naar het pad naast het MLTable YAML-bestand als relatieve bestandspaden. Anders worden gekoppelde bestanden niet gekopieerd, blijven externe paden ongewijzigd en worden lokale bestandspaden indien nodig relatief gemaakt met padomleiding. Houd er rekening mee dat Onwaar kan leiden tot niet-colocated MLTable YAML-bestanden die niet worden aanbevolen, bovendien als het pad extern is, resulteert dit in een UserErrorException omdat relatieve padomleiding niet wordt ondersteund voor externe URI's.
Als de MLTable programmatisch wordt gemaakt met methoden zoals from_paths() of from_read_delimited_files() met lokale relatieve paden, wordt ervan uitgegaan dat het MLTable-mappad de huidige werkmap is.
Houd er rekening mee wanneer u een nieuwe MLTable- en gekoppelde gegevensbestanden opslaat in een map met een bestaand MLTable-bestand en gekoppelde gegevensbestanden die niet door de map worden gewist voordat u de nieuwe bestanden opslaat. Het is mogelijk dat bestaande gegevensbestanden behouden blijven na het opslaan van de nieuwe bestanden, met name als bestaande gegevensbestanden geen namen hebben die overeenkomen met nieuwe gegevensbestanden. Als de nieuwe MLTable een patroonontwerp onder de paden bevat, kan dit onbedoeld de MLTable wijzigen door bestaande gegevensbestanden te koppelen aan de nieuwe MLTable.
Als bestandspaden in deze MLTable verwijzen naar een bestaand bestand in pad , maar een andere URI hebben, wordt het bestaande bestand niet overschreven als overschrijven mislukt of overslaan wordt het bestaande bestand niet overschreven (bijvoorbeeld overgeslagen).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
		Parameters
| Name | Description | 
|---|---|
| 
		 path 
			
				Vereist
			 
	 | 
	
		
		 mappad om op te slaan in, standaard naar huidige werkmap  | 
| 
		 colocated 
			
				Vereist
			 
	 | 
	
		
		 Als waar, worden kopieën van lokale en externe bestandspaden opgeslagen in deze MLTable onder pad als relatieve paden. Anders worden er geen bestandskopiebewerkingen uitgevoerd en worden externe bestandspaden opgeslagen als gegeven aan het opgeslagen MLTable YAML-bestand en lokale bestandspaden als relatieve bestandspaden met padomleiding. Als het pad extern is en deze MLTable lokale bestandspaden bevat, wordt er een UserErrorException gegenereerd.  | 
| 
		 overwrite 
			
				Vereist
			 
	 | 
	
		 
				Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
		 
		Hoe bestaande MLTable YAML-bestanden en bijbehorende bestanden die mogelijk al onder het pad bestaan, worden verwerkt. Opties zijn 'overschrijven' (of Waar) om bestaande bestanden te vervangen, 'fail' (of False) om een fout te genereren als er al een bestand bestaat of 'overslaan' om bestaande bestanden te laten zoals is. Kan ook worden ingesteld met <xref:mltable.MLTableSaveOverwriteOptions>.  | 
| 
		 show_progress 
			
				Vereist
			 
	 | 
	
		
		 geeft de voortgang van het kopiëren naar stdout weer  | 
| 
		 if_err_remove_files 
			
				Vereist
			 
	 | 
	
		
		 als er een fout optreedt tijdens het opslaan, verwijdert u alle opgeslagen bestanden om de bewerking atomisch te maken  | 
Retouren
| Type | Description | 
|---|---|
| 
					 dit MLTable-exemplaar  | 
		
select_partitions
Hiermee voegt u een transformatiestap toe om de partitie te selecteren.
select_partitions(partition_index_list)
		Parameters
| Name | Description | 
|---|---|
| 
		 partition_index_list 
			
				Vereist
			 
	 | 
	
		
		 lijst met partitieindex  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met de partitiegrootte bijgewerkt  | 
		
Opmerkingen
In het volgende codefragment ziet u hoe u de select_partitions-API gebruikt voor geselecteerde partities uit de opgegeven MLTable.
   partition_index_list = [1, 2]
   mltable = mltable.select_partitions(partition_index_list)
show
Haalt de eerste tellingsrijen van deze MLTable op als een Pandas Dataframe.
show(count=20)
		Parameters
| Name | Description | 
|---|---|
| 
		 count 
			
				Vereist
			 
	 | 
	
		
		 aantal rijen boven aan de tabel dat u wilt selecteren  | 
Retouren
| Type | Description | 
|---|---|
| 
						 
							<xref:Pandas> <xref:Dataframe>
						 
			 | 
			
					 eerste telling rijen van de MLTable  | 
		
skip
Voegt een transformatiestap toe om de eerste tellingsrijen van deze MLTable over te slaan.
skip(count)
		Parameters
| Name | Description | 
|---|---|
| 
		 count 
			
				Vereist
			 
	 | 
	
		
		 aantal rijen om over te slaan  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde transformatiestap  | 
		
take
Hiermee voegt u een transformatiestap toe om de eerste tellingsrijen van deze MLTable te selecteren.
take(count=20)
		Parameters
| Name | Description | 
|---|---|
| 
		 count 
			
				Vereist
			 
	 | 
	
		
		 aantal rijen boven aan de tabel dat u wilt selecteren  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde stap voor 'take'-transformatie  | 
		
take_random_sample
Hiermee voegt u een transformatiestap toe om elke rij van deze MLTable willekeurig te selecteren met waarschijnlijkheidskans . Waarschijnlijkheid moet liggen in het bereik [0, 1]. Kan eventueel een willekeurig zaad instellen.
take_random_sample(probability, seed=None)
		Parameters
| Name | Description | 
|---|---|
| 
		 probability 
			
				Vereist
			 
	 | 
	
		 kans dat elke rij is geselecteerd  | 
| 
		 seed 
			
				Vereist
			 
	 | 
	
		
		 optionele willekeurige seed  | 
Retouren
| Type | Description | 
|---|---|
| 
					 MLTable met toegevoegde transformatiestap  | 
		
to_pandas_dataframe
Laad alle records uit de paden die in het MLTable-bestand zijn opgegeven in een Pandas DataFrame.
to_pandas_dataframe()
Retouren
| Type | Description | 
|---|---|
| 
					 Pandas Dataframe met de records uit paden in deze MLTable  | 
		
Opmerkingen
In het volgende codefragment ziet u hoe u de to_pandas_dataframe-API gebruikt om een pandas-gegevensframe te verkrijgen dat overeenkomt met de opgegeven MLTable.
   from mltable import load
   tbl = load('.\samples\mltable_sample')
   pdf = tbl.to_pandas_dataframe()
   print(pdf.shape)
validate
Valideert of de gegevens van deze MLTable kunnen worden geladen. Hiervoor moeten de gegevensbronnen van de MLTable toegankelijk zijn vanaf de huidige berekening.
validate()
Retouren
| Type | Description | 
|---|---|
| 
					 Geen  | 
		
Kenmerken
partition_keys
paths
Retourneert een lijst met woordenlijsten met de oorspronkelijke paden die aan deze MLTable zijn gegeven. Relatieve lokale bestandspaden worden verondersteld ten opzichte van de map te zijn waaruit het MLTable YAML-bestand van dit MLTable-exemplaar is geladen.
Retouren
| Type | Description | 
|---|---|
| 
					 lijst met dicteren met paden die zijn opgegeven in de MLTable  |