MLTable Sınıf
MLTable'i temsil eder.
MLTable, veri kaynağından veri yüklemek için bir dizi yavaş değerlendirilen, sabit işlem tanımlar. MLTable'dan veri teslimi istenene kadar veriler kaynaktan yüklenmez.
Yeni bir MLTable başlatın.
Bu oluşturucu doğrudan çağrılmayacak. MLTable kullanılarak loadoluşturulması amaçlanmıştır.
- Devralma
-
builtins.objectMLTable
MLTable()
convert_column_types |
Belirtilen sütunları ilgili yeni türlerine dönüştürmek için bir dönüştürme adımı ekler.
|
drop_columns |
Veri kümesinden belirli sütunları bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur. MLTable.traits.timestamp_column veya MLTable.traits.index_columns olan bir sütunu bırakma girişimi, UserErrorException'ı tetikler. |
extract_columns_from_partition_format |
Her yolun bölüm bilgilerini kullanmak ve bunları belirtilen bölüm biçimine göre sütunlara ayıklamak için bir dönüştürme adımı ekler. '{column_name}' biçim bölümü dize sütunu oluşturur ve '{column_name:yyyy/AA/GG/SS/aa/ss}' datetime sütunu oluşturur; burada tarih saat türü için yıl, ay, gün, saat, dakika ve saniyeyi ayıklamak için 'yyyy', 'MM', 'dd', 'SS', 'mm' ve 'ss' kullanılır. Biçim, ilk bölüm anahtarının konumundan dosya yolunun sonuna kadar başlamalıdır. Örneğin, bölümün bölüm adına ve saatlerine göre olduğu '/Accounts/2019/01/01/data.csv' yolu göz önünde bulundurulduğunda, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv', 'Accounts' değerine sahip 'Department' dize sütunu ve '2019-01-01' değerine sahip 'PartitionDate' tarih saat sütunu oluşturur. |
filter |
Yalnızca belirtilen ifadeyle eşleşen kayıtları bırakarak verileri filtreleyin. |
get_partition_count |
Bu MLTable ile ilişkili verilerin temelini oluşturan veri bölümlerinin sayısını döndürür. |
keep_columns |
Belirtilen sütunları korumak ve diğer tüm sütunları veri kümesinden kaldırmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur. MLTable.traits.timestamp_column sütun veya MLTable.traits.index_columns'daki sütunlar açıkça saklanmazsa, UserErrorException düzensizdir. |
random_split |
Bu MLTable'ı rastgele olarak iki MLTable'a böler; bunlardan biri özgün MLTable verilerinin yaklaşık %"sine", diğeri kalana (%1-"yüzde") sahiptir. |
save |
Bu MLTable'ı verilen dizin yolu ile ilişkilendirilmiş yollarını & MLTable YAML dosyası olarak kaydedin. Yol verilmezse, varsayılan olarak geçerli çalışma dizinini kullanır. Yol yoksa oluşturulur. Yol uzaksa, temel alınan veri deposunun zaten mevcut olması gerekir. Yol yerel bir dizinse & mutlak değilse, mutlak yapılır. Yol bir dosyaya işaret ederse, userErrorException oluşturulur. Yol zaten kaydedilmiş bir veya daha fazla dosya içeren bir dizin yoluysa (MLTable YAML dosyası dahil) ve üzerine yazma False veya 'fail' olarak ayarlandıysa, UserErrorException oluşturulur. Yol uzaksa, birlikte bulunan yol olarak verilmeyen tüm yerel dosya yolları (MLTable'ın yüklendiği dizine göre dosya yolu) userErrorException oluşturur. birlikte konumlandırılmış , ilişkili yolların yola nasıl kaydedileceğini denetler. True ise, dosyalar MLTable YAML dosyasının yanındaki yola göreli dosya yolları olarak kopyalanır. Aksi takdirde ilişkili dosyalar kopyalanmaz, uzak yollar verilen şekilde kalır ve gerekirse yerel dosya yolları yol yeniden yönlendirmesiyle göreli hale getirilir. False'un önerilmez, ayrıca yol uzaksa uzak URI'ler için göreli yol yeniden yönlendirmesi desteklenmediğinden UserErrorException ile sonuçlanabileceğini unutmayın. MLTable, from_paths() veya yerel göreli yollara sahip from_read_delimited_files() gibi yöntemlerle programlı olarak oluşturulursa, MLTable dizin yolunun geçerli çalışma dizini olduğu varsayılır. Yeni bir MLTable & ilişkili veri dosyalarını, yeni dosyaları kaydetmeden önce dizinin mevcut dosyalardan temizlenmediği ilişkili veri dosyaları & mevcut MLTable dosyasıyla bir dizine kaydederken dikkatli olun. Özellikle mevcut veri dosyalarının yeni veri dosyalarıyla eşleşen adları yoksa, yeni dosyaları kaydettikten sonra zaten var olan veri dosyalarının kalıcı olması mümkündür. Yeni MLTable, yollarının altında bir desen belirleyicisi içeriyorsa, varolan veri dosyalarını yeni MLTable ile ilişkilendirerek MLTable'ı istemeden değiştirebilir. Bu MLTable'daki dosya yolları yoldaki mevcut bir dosyayı gösteriyorsa ancak farklı bir URI'sine sahipse, üzerine yazma 'başarısız' veya 'atla' ise varolan dosyanın üzerine yazılmaz (atlanır). |
select_partitions |
Bölümü seçmek için bir dönüştürme adımı ekler. |
show |
Bu MLTable'ın ilk sayı satırlarını Pandas Veri Çerçevesi olarak alır. |
skip |
Bu MLTable'ın ilk sayı satırlarını atlamak için bir dönüştürme adımı ekler. |
take |
Bu MLTable'ın ilk sayı satırlarını seçmek için bir dönüştürme adımı ekler. |
take_random_sample |
Olasılık olasılığı olan bu MLTable'ın her satırını rastgele seçmek için bir dönüştürme adımı ekler. Olasılık [0, 1] aralığında olmalıdır. İsteğe bağlı olarak rastgele bir tohum ayarlayabilir. |
to_pandas_dataframe |
MLTable dosyasında belirtilen yollardaki tüm kayıtları Pandas DataFrame'e yükleyin. |
validate |
Bu MLTable'ın verilerinin yüklenebildiğini doğrular, MLTable'ın veri kaynaklarının geçerli işlemden erişilebilir olmasını gerektirir. |
Belirtilen sütunları ilgili yeni türlerine dönüştürmek için bir dönüştürme adımı ekler.
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)
Parametreler
Name | Description |
---|---|
column_types
Gerekli
|
Sütun sözlüğü: kullanıcının dönüştürmek istediği türler |
Döndürülenler
Tür | Description |
---|---|
Eklenen dönüştürme adımıyla MLTable |
Veri kümesinden belirli sütunları bırakmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.
MLTable.traits.timestamp_column veya MLTable.traits.index_columns olan bir sütunu bırakma girişimi, UserErrorException'ı tetikler.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametreler
Name | Description |
---|---|
columns
Gerekli
|
bu MLTable'dan bırakılabilir sütunlar |
Döndürülenler
Tür | Description |
---|---|
Eklenen dönüştürme adımıyla MLTable |
Her yolun bölüm bilgilerini kullanmak ve bunları belirtilen bölüm biçimine göre sütunlara ayıklamak için bir dönüştürme adımı ekler.
'{column_name}' biçim bölümü dize sütunu oluşturur ve '{column_name:yyyy/AA/GG/SS/aa/ss}' datetime sütunu oluşturur; burada tarih saat türü için yıl, ay, gün, saat, dakika ve saniyeyi ayıklamak için 'yyyy', 'MM', 'dd', 'SS', 'mm' ve 'ss' kullanılır.
Biçim, ilk bölüm anahtarının konumundan dosya yolunun sonuna kadar başlamalıdır. Örneğin, bölümün bölüm adına ve saatlerine göre olduğu '/Accounts/2019/01/01/data.csv' yolu göz önünde bulundurulduğunda, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv', 'Accounts' değerine sahip 'Department' dize sütunu ve '2019-01-01' değerine sahip 'PartitionDate' tarih saat sütunu oluşturur.
extract_columns_from_partition_format(partition_format)
Parametreler
Name | Description |
---|---|
partition_format
Gerekli
|
Verileri sütunlara ayıklamak için kullanılacak bölüm biçimi |
Döndürülenler
Tür | Description |
---|---|
Bölüm biçimi verilen biçime ayarlanmış MLTable |
Yalnızca belirtilen ifadeyle eşleşen kayıtları bırakarak verileri filtreleyin.
filter(expression)
Parametreler
Name | Description |
---|---|
expression
Gerekli
|
Değerlendirilecek ifade. |
Döndürülenler
Tür | Description |
---|---|
Filtreden sonra MLTable |
Açıklamalar
İfadeler, mltable'ın dizinini bir sütun adıyla oluşturarak başlatılır. Bunlar çeşitli işlevleri ve işleçleri destekler ve mantıksal işleçler kullanılarak birleştirilebilir. Sonuçta elde edilen ifade, tanımlandığı yerde değil, bir veri çekme işlemi gerçekleştiğinde her kayıt için gevşek bir şekilde değerlendirilir.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
Bu MLTable ile ilişkili verilerin temelini oluşturan veri bölümlerinin sayısını döndürür.
get_partition_count() -> int
Döndürülenler
Tür | Description |
---|---|
bu MLTable'daki veri bölümleri |
Belirtilen sütunları korumak ve diğer tüm sütunları veri kümesinden kaldırmak için bir dönüştürme adımı ekler. Boş bir liste, tanımlama grubu veya küme verildiğinde hiçbir şey bırakılmaz. Yinelenen sütunlar userErrorException oluşturur.
MLTable.traits.timestamp_column sütun veya MLTable.traits.index_columns'daki sütunlar açıkça saklanmazsa, UserErrorException düzensizdir.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parametreler
Name | Description |
---|---|
columns
Gerekli
|
tutulacak bu MLTable'daki sütunlar |
Döndürülenler
Tür | Description |
---|---|
Eklenen dönüştürme adımıyla MLTable |
Bu MLTable'ı rastgele olarak iki MLTable'a böler; bunlardan biri özgün MLTable verilerinin yaklaşık %"sine", diğeri kalana (%1-"yüzde") sahiptir.
random_split(percent=0.5, seed=None)
Parametreler
Name | Description |
---|---|
percent
Gerekli
|
arasında bölünecek MLTable yüzdesi |
seed
Gerekli
|
isteğe bağlı rastgele tohum |
Döndürülenler
Bu MLTable'ı verilen dizin yolu ile ilişkilendirilmiş yollarını & MLTable YAML dosyası olarak kaydedin.
Yol verilmezse, varsayılan olarak geçerli çalışma dizinini kullanır. Yol yoksa oluşturulur. Yol uzaksa, temel alınan veri deposunun zaten mevcut olması gerekir. Yol yerel bir dizinse & mutlak değilse, mutlak yapılır.
Yol bir dosyaya işaret ederse, userErrorException oluşturulur. Yol zaten kaydedilmiş bir veya daha fazla dosya içeren bir dizin yoluysa (MLTable YAML dosyası dahil) ve üzerine yazma False veya 'fail' olarak ayarlandıysa, UserErrorException oluşturulur. Yol uzaksa, birlikte bulunan yol olarak verilmeyen tüm yerel dosya yolları (MLTable'ın yüklendiği dizine göre dosya yolu) userErrorException oluşturur.
birlikte konumlandırılmış , ilişkili yolların yola nasıl kaydedileceğini denetler. True ise, dosyalar MLTable YAML dosyasının yanındaki yola göreli dosya yolları olarak kopyalanır. Aksi takdirde ilişkili dosyalar kopyalanmaz, uzak yollar verilen şekilde kalır ve gerekirse yerel dosya yolları yol yeniden yönlendirmesiyle göreli hale getirilir. False'un önerilmez, ayrıca yol uzaksa uzak URI'ler için göreli yol yeniden yönlendirmesi desteklenmediğinden UserErrorException ile sonuçlanabileceğini unutmayın.
MLTable, from_paths() veya yerel göreli yollara sahip from_read_delimited_files() gibi yöntemlerle programlı olarak oluşturulursa, MLTable dizin yolunun geçerli çalışma dizini olduğu varsayılır.
Yeni bir MLTable & ilişkili veri dosyalarını, yeni dosyaları kaydetmeden önce dizinin mevcut dosyalardan temizlenmediği ilişkili veri dosyaları & mevcut MLTable dosyasıyla bir dizine kaydederken dikkatli olun. Özellikle mevcut veri dosyalarının yeni veri dosyalarıyla eşleşen adları yoksa, yeni dosyaları kaydettikten sonra zaten var olan veri dosyalarının kalıcı olması mümkündür. Yeni MLTable, yollarının altında bir desen belirleyicisi içeriyorsa, varolan veri dosyalarını yeni MLTable ile ilişkilendirerek MLTable'ı istemeden değiştirebilir.
Bu MLTable'daki dosya yolları yoldaki mevcut bir dosyayı gösteriyorsa ancak farklı bir URI'sine sahipse, üzerine yazma 'başarısız' veya 'atla' ise varolan dosyanın üzerine yazılmaz (atlanır).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parametreler
Name | Description |
---|---|
path
Gerekli
|
kaydedilecek dizin yolu, varsayılan olarak geçerli çalışma dizini |
colocated
Gerekli
|
True ise, bu MLTable'da yerel & uzak dosya yollarının kopyalarını göreli yollar olarak kaydeder . Aksi takdirde hiçbir dosya kopyalama gerçekleşmez ve uzak dosya yolları, kaydedilen MLTable YAML dosyasına ve yerel dosya yollarına yol yeniden yönlendirmeli göreli dosya yolları olarak verildiği şekilde kaydedilir. Yol uzaksa & bu MLTable yerel dosya yolları içeriyorsa, bir UserErrorException oluşturulur. |
overwrite
Gerekli
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Bir MLTable YAML dosyasının ve yol altında zaten mevcut olabilecek ilişkili dosyaların nasıl işlendiğini. Seçenekler mevcut dosyaları değiştirmek için 'üzerine yaz' (veya True), bir dosya zaten varsa hata oluşturmak için 'fail' (veya False) veya mevcut dosyaları olduğu gibi bırakmak için 'atla'dır. ile <xref:mltable.MLTableSaveOverwriteOptions>de ayarlanabilir. |
show_progress
Gerekli
|
stdout'a kopyalama ilerleme durumunu görüntüler |
if_err_remove_files
Gerekli
|
Kaydetme sırasında herhangi bir hata oluşursa, işlemi atomik hale getirmek için başarıyla kaydedilen tüm dosyalar kaldırıldı |
Döndürülenler
Tür | Description |
---|---|
bu MLTable örneği |
Bölümü seçmek için bir dönüştürme adımı ekler.
select_partitions(partition_index_list)
Parametreler
Döndürülenler
Tür | Description |
---|---|
Bölüm boyutu güncelleştirilmiş MLTable |
Açıklamalar
Aşağıdaki kod parçacığı, sağlanan MLTable'dan seçilen bölümlere select_partitions API'sinin nasıl kullanılacağını gösterir.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
Bu MLTable'ın ilk sayı satırlarını Pandas Veri Çerçevesi olarak alır.
show(count=20)
Parametreler
Name | Description |
---|---|
count
Gerekli
|
tablonun üst kısmından seçilebilen satır sayısı |
Döndürülenler
Tür | Description |
---|---|
<xref:Pandas> <xref:Dataframe>
|
MLTable'ın ilk satırlarını sayma |
Bu MLTable'ın ilk sayı satırlarını atlamak için bir dönüştürme adımı ekler.
skip(count)
Parametreler
Name | Description |
---|---|
count
Gerekli
|
atlana satır sayısı |
Döndürülenler
Tür | Description |
---|---|
Eklenen dönüştürme adımıyla MLTable |
Bu MLTable'ın ilk sayı satırlarını seçmek için bir dönüştürme adımı ekler.
take(count=20)
Parametreler
Name | Description |
---|---|
count
Gerekli
|
tablonun üst kısmından seçilebilen satır sayısı |
Döndürülenler
Tür | Description |
---|---|
Eklenen "take" dönüştürme adımıyla MLTable |
Olasılık olasılığı olan bu MLTable'ın her satırını rastgele seçmek için bir dönüştürme adımı ekler. Olasılık [0, 1] aralığında olmalıdır. İsteğe bağlı olarak rastgele bir tohum ayarlayabilir.
take_random_sample(probability, seed=None)
Parametreler
Name | Description |
---|---|
probability
Gerekli
|
her satırın seçilme şansı |
seed
Gerekli
|
isteğe bağlı rastgele tohum |
Döndürülenler
Tür | Description |
---|---|
Eklenen dönüştürme adımıyla MLTable |
MLTable dosyasında belirtilen yollardaki tüm kayıtları Pandas DataFrame'e yükleyin.
to_pandas_dataframe()
Döndürülenler
Tür | Description |
---|---|
Bu MLTable'daki yollardan kayıtları içeren Pandas Dataframe |
Açıklamalar
Aşağıdaki kod parçacığı, sağlanan MLTable'a karşılık gelen bir pandas veri çerçevesini almak için to_pandas_dataframe API'sinin nasıl kullanılacağını gösterir.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
Bu MLTable'ın verilerinin yüklenebildiğini doğrular, MLTable'ın veri kaynaklarının geçerli işlemden erişilebilir olmasını gerektirir.
validate()
Döndürülenler
Tür | Description |
---|---|
Hiçbiri |
Bu MLTable'a verilen özgün yolları içeren sözlüklerin listesini döndürür. Göreli yerel dosya yollarının, bu MLTable örneğinin yüklendiği MLTable YAML dosyasının bulunduğu dizine göre olduğu varsayılır.