MLTable Kelas
Mewakili MLTable.
MLTable mendefinisikan serangkaian operasi yang dievaluasi dengan malas untuk memuat data dari sumber data. Data tidak dimuat dari sumber hingga MLTable diminta untuk mengirimkan data.
Menginisialisasi MLTable baru.
Konstruktor ini tidak seharusnya dipanggil secara langsung. MLTable dimaksudkan untuk dibuat menggunakan load.
- Warisan
-
builtins.objectMLTable
Konstruktor
MLTable()
Metode
convert_column_types |
Menambahkan langkah transformasi untuk mengonversi kolom yang ditentukan menjadi jenis baru yang ditentukan masing-masing.
|
drop_columns |
Menambahkan langkah transformasi untuk menghilangkan kolom yang diberikan dari himpunan data. Jika daftar kosong, tuple, atau set tidak diberikan apa pun yang dihilangkan. Kolom duplikat akan menaikkan UserErrorException. Mencoba menjatuhkan kolom yang MLTable.traits.timestamp_column atau di MLTable.traits.index_columns akan menaikkan UserErrorException. |
extract_columns_from_partition_format |
Menambahkan langkah transformasi untuk menggunakan informasi partisi dari setiap jalur dan mengekstraknya ke dalam kolom berdasarkan format partisi yang ditentukan. Bagian format '{column_name}' membuat kolom string, dan '{column_name:yyyy/MM/dd/HH/mm/ss}' membuat kolom tanggalwaktu, di mana 'yyyy', 'MM', 'dd', 'HH', 'mm' dan 'ss' digunakan untuk mengekstrak tahun, bulan, hari, jam, menit, dan detik untuk jenis tanggalwaktu. Format harus dimulai dari posisi kunci partisi pertama hingga akhir jalur file. Misalnya, mengingat jalur '/Accounts/2019/01/01/data.csv' di mana partisi berdasarkan nama dan waktu departemen, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' membuat kolom string 'Departemen' dengan nilai 'Akun' dan kolom tanggalwaktu 'PartitionDate' dengan nilai '2019-01-01'. |
filter |
Filter data, sisakan baris yang cocok dengan ekspresi yang ditentukan saja. |
get_partition_count |
Mengembalikan jumlah partisi data yang mendasar data yang terkait dengan MLTable ini. |
keep_columns |
Menambahkan langkah transformasi untuk mempertahankan kolom yang ditentukan dan menghilangkan semua kolom lainnya dari himpunan data. Jika daftar kosong, tuple, atau set tidak diberikan apa pun yang dihilangkan. Kolom duplikat akan menaikkan UserErrorException. Jika kolom di MLTable.traits.timestamp_column atau kolom di MLTable.traits.index_columns tidak disimpan secara eksplisit, UserErrorException akan diganggu. |
random_split |
Secara acak membagi MLTable ini menjadi dua MLTable, satu memiliki sekitar "persen"% dari data MLTable asli dan yang lain memiliki sisanya (1-"persen"%). |
save |
Simpan MLTable ini sebagai file YAML MLTable & jalur asosiasinya ke jalur direktori yang diberikan. Jika jalur tidak diberikan, default ke direktori kerja saat ini. Jika jalur tidak ada, jalur akan dibuat. Jika jalur jarak jauh, penyimpanan data yang mendasar harus sudah ada. Jika jalur adalah direktori lokal & tidak absolut, jalur tersebut dibuat absolut. Jika jalur menunjuk ke file, UserErrorException akan dinaikkan. Jika jalur adalah jalur direktori yang sudah berisi satu atau beberapa file yang disimpan (termasuk file YAML MLTable) dan timpa diatur ke False atau 'fail' - UserErrorException dinaikkan. Jika jalur jarak jauh, jalur file lokal apa pun yang tidak diberikan sebagai jalur yang dikolokasi (jalur file relatif terhadap direktori tempat MLTable dimuat) akan menaikkan UserErrorException. colocated mengontrol bagaimana jalur terkait disimpan ke jalur. Jika True, file disalin ke jalur bersama file YAML MLTable sebagai jalur file relatif. Jika tidak, file terkait tidak disalin, jalur jarak jauh tetap seperti yang diberikan dan jalur file lokal dibuat relatif dengan pengalihan jalur jika diperlukan. Perhatikan bahwa False dapat mengakibatkan file MLTable YAML yang tidak dikolokasi yang tidak disarankan, selain itu jika jalur jarak jauh ini akan menghasilkan UserErrorException karena pengalihan jalur relatif tidak didukung untuk URI jarak jauh. Perhatikan bahwa jika MLTable dibuat secara terprogram dengan metode seperti from_paths() atau from_read_delimited_files() dengan jalur relatif lokal, jalur direktori MLTable diasumsikan sebagai direktori kerja saat ini. Berhati-hatilah saat menyimpan MLTable baru & file data terkait ke direktori dengan file MLTable yang ada & file data terkait yang direktorinya tidak dihapus dari file yang ada sebelum menyimpan file baru. Dimungkinkan bagi file data yang sudah ada untuk bertahan setelah menyimpan file baru, terutama jika file data yang ada tidak memiliki nama yang cocok dengan file data baru apa pun. Jika MLTable baru berisi penunjuk pola di bawah jalurnya, ini mungkin secara tidak sengaja mengubah MLTable dengan mengaitkan file data yang ada dengan MLTable baru. Jika jalur file dalam MLTable ini menunjuk ke file yang ada di jalur tetapi memiliki URI yang berbeda, jika penimpaan 'gagal' atau 'lewati' file yang ada tidak akan ditimpa (yaitu dilewati). |
select_partitions |
Menambahkan langkah transformasi untuk memilih partisi. |
show |
Mengambil baris hitungan pertama MLTable ini sebagai Dataframe Pandas. |
skip |
Menambahkan langkah transformasi untuk melewati baris hitungan pertama MLTable ini. |
take |
Menambahkan langkah transformasi untuk memilih baris hitungan pertama MLTable ini. |
take_random_sample |
Menambahkan langkah transformasi untuk memilih setiap baris MLTable ini secara acak dengan peluang probabilitas . Probabilitas harus dalam rentang [0, 1]. Dapat secara opsional mengatur benih acak. |
to_pandas_dataframe |
Muat semua rekaman dari jalur yang ditentukan dalam file MLTable ke dalam Pandas DataFrame. |
validate |
Memvalidasi apakah data MLTable ini dapat dimuat, memerlukan sumber data MLTable agar dapat diakses dari komputasi saat ini. |
convert_column_types
Menambahkan langkah transformasi untuk mengonversi kolom yang ditentukan menjadi jenis baru yang ditentukan masing-masing.
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
Nama | Deskripsi |
---|---|
column_types
Diperlukan
|
Kamus kolom: jenis yang ingin dikonversi pengguna |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi tambahan |
drop_columns
Menambahkan langkah transformasi untuk menghilangkan kolom yang diberikan dari himpunan data. Jika daftar kosong, tuple, atau set tidak diberikan apa pun yang dihilangkan. Kolom duplikat akan menaikkan UserErrorException.
Mencoba menjatuhkan kolom yang MLTable.traits.timestamp_column atau di MLTable.traits.index_columns akan menaikkan UserErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parameter
Nama | Deskripsi |
---|---|
columns
Diperlukan
|
kolom untuk dihilangkan dari MLTable ini |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi tambahan |
extract_columns_from_partition_format
Menambahkan langkah transformasi untuk menggunakan informasi partisi dari setiap jalur dan mengekstraknya ke dalam kolom berdasarkan format partisi yang ditentukan.
Bagian format '{column_name}' membuat kolom string, dan '{column_name:yyyy/MM/dd/HH/mm/ss}' membuat kolom tanggalwaktu, di mana 'yyyy', 'MM', 'dd', 'HH', 'mm' dan 'ss' digunakan untuk mengekstrak tahun, bulan, hari, jam, menit, dan detik untuk jenis tanggalwaktu.
Format harus dimulai dari posisi kunci partisi pertama hingga akhir jalur file. Misalnya, mengingat jalur '/Accounts/2019/01/01/data.csv' di mana partisi berdasarkan nama dan waktu departemen, partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv' membuat kolom string 'Departemen' dengan nilai 'Akun' dan kolom tanggalwaktu 'PartitionDate' dengan nilai '2019-01-01'.
extract_columns_from_partition_format(partition_format)
Parameter
Nama | Deskripsi |
---|---|
partition_format
Diperlukan
|
Format partisi yang digunakan untuk mengekstrak data ke dalam kolom |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable yang format partisinya diatur ke format tertentu |
filter
Filter data, sisakan baris yang cocok dengan ekspresi yang ditentukan saja.
filter(expression)
Parameter
Nama | Deskripsi |
---|---|
expression
Diperlukan
|
Ekspresi yang akan dievaluasi. |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable setelah filter |
Keterangan
Ekspresi dimulai dengan mengindeks mltable dengan nama kolom. Ekspresi mendukung berbagai fungsi dan operator dan dapat digabungkan menggunakan operator logis. Ekspresi yang dihasilkan akan dievaluasi dengan lambat untuk setiap baris ketika terjadi penarikan data dan bukan di tempat yang ditentukan.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Mengembalikan jumlah partisi data yang mendasar data yang terkait dengan MLTable ini.
get_partition_count() -> int
Mengembalikan
Jenis | Deskripsi |
---|---|
partisi data dalam MLTable ini |
keep_columns
Menambahkan langkah transformasi untuk mempertahankan kolom yang ditentukan dan menghilangkan semua kolom lainnya dari himpunan data. Jika daftar kosong, tuple, atau set tidak diberikan apa pun yang dihilangkan. Kolom duplikat akan menaikkan UserErrorException.
Jika kolom di MLTable.traits.timestamp_column atau kolom di MLTable.traits.index_columns tidak disimpan secara eksplisit, UserErrorException akan diganggu.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Parameter
Nama | Deskripsi |
---|---|
columns
Diperlukan
|
kolom dalam MLTable ini untuk dipertahankan |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi tambahan |
random_split
Secara acak membagi MLTable ini menjadi dua MLTable, satu memiliki sekitar "persen"% dari data MLTable asli dan yang lain memiliki sisanya (1-"persen"%).
random_split(percent=0.5, seed=None)
Parameter
Nama | Deskripsi |
---|---|
percent
Diperlukan
|
persen dari MLTable untuk dipisahkan antara |
seed
Diperlukan
|
seed acak opsional |
Mengembalikan
Jenis | Deskripsi |
---|---|
dua MLTable dengan data MLTable ini dibagi di antaranya dengan "persen" |
save
Simpan MLTable ini sebagai file YAML MLTable & jalur asosiasinya ke jalur direktori yang diberikan.
Jika jalur tidak diberikan, default ke direktori kerja saat ini. Jika jalur tidak ada, jalur akan dibuat. Jika jalur jarak jauh, penyimpanan data yang mendasar harus sudah ada. Jika jalur adalah direktori lokal & tidak absolut, jalur tersebut dibuat absolut.
Jika jalur menunjuk ke file, UserErrorException akan dinaikkan. Jika jalur adalah jalur direktori yang sudah berisi satu atau beberapa file yang disimpan (termasuk file YAML MLTable) dan timpa diatur ke False atau 'fail' - UserErrorException dinaikkan. Jika jalur jarak jauh, jalur file lokal apa pun yang tidak diberikan sebagai jalur yang dikolokasi (jalur file relatif terhadap direktori tempat MLTable dimuat) akan menaikkan UserErrorException.
colocated mengontrol bagaimana jalur terkait disimpan ke jalur. Jika True, file disalin ke jalur bersama file YAML MLTable sebagai jalur file relatif. Jika tidak, file terkait tidak disalin, jalur jarak jauh tetap seperti yang diberikan dan jalur file lokal dibuat relatif dengan pengalihan jalur jika diperlukan. Perhatikan bahwa False dapat mengakibatkan file MLTable YAML yang tidak dikolokasi yang tidak disarankan, selain itu jika jalur jarak jauh ini akan menghasilkan UserErrorException karena pengalihan jalur relatif tidak didukung untuk URI jarak jauh.
Perhatikan bahwa jika MLTable dibuat secara terprogram dengan metode seperti from_paths() atau from_read_delimited_files() dengan jalur relatif lokal, jalur direktori MLTable diasumsikan sebagai direktori kerja saat ini.
Berhati-hatilah saat menyimpan MLTable baru & file data terkait ke direktori dengan file MLTable yang ada & file data terkait yang direktorinya tidak dihapus dari file yang ada sebelum menyimpan file baru. Dimungkinkan bagi file data yang sudah ada untuk bertahan setelah menyimpan file baru, terutama jika file data yang ada tidak memiliki nama yang cocok dengan file data baru apa pun. Jika MLTable baru berisi penunjuk pola di bawah jalurnya, ini mungkin secara tidak sengaja mengubah MLTable dengan mengaitkan file data yang ada dengan MLTable baru.
Jika jalur file dalam MLTable ini menunjuk ke file yang ada di jalur tetapi memiliki URI yang berbeda, jika penimpaan 'gagal' atau 'lewati' file yang ada tidak akan ditimpa (yaitu dilewati).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Parameter
Nama | Deskripsi |
---|---|
path
Diperlukan
|
jalur direktori untuk disimpan, default ke direktori kerja saat ini |
colocated
Diperlukan
|
Jika True, menyimpan salinan jalur file lokal & jarak jauh di MLTable ini di bawah jalur sebagai jalur relatif. Jika tidak, tidak ada penyalinan file yang terjadi dan jalur file jarak jauh disimpan seperti yang diberikan ke file YAML MLTable yang disimpan dan jalur file lokal sebagai jalur file relatif dengan pengalihan jalur. Jika jalur jarak jauh & MLTable ini berisi jalur file lokal, UserErrorException akan dinaikkan. |
overwrite
Diperlukan
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
Bagaimana file YAML MLTable yang ada dan file terkait yang mungkin sudah ada di bawah jalur ditangani. Opsinya adalah 'overwrite' (atau True) untuk mengganti file yang ada, 'fail' (atau False) untuk memunculkan kesalahan jika file sudah ada, atau 'lewati' untuk meninggalkan file yang ada apa adanya. Dapat juga diatur dengan <xref:mltable.MLTableSaveOverwriteOptions>. |
show_progress
Diperlukan
|
menampilkan kemajuan penyalinan ke stdout |
if_err_remove_files
Diperlukan
|
jika terjadi kesalahan selama penyimpanan, hapus file yang berhasil disimpan untuk membuat operasi atomik |
Mengembalikan
Jenis | Deskripsi |
---|---|
instans MLTable ini |
select_partitions
Menambahkan langkah transformasi untuk memilih partisi.
select_partitions(partition_index_list)
Parameter
Nama | Deskripsi |
---|---|
partition_index_list
Diperlukan
|
daftar indeks partisi |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan ukuran partisi diperbarui |
Keterangan
Cuplikan kode berikut menunjukkan cara menggunakan api select_partitions ke partisi yang dipilih dari MLTable yang disediakan.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Mengambil baris hitungan pertama MLTable ini sebagai Dataframe Pandas.
show(count=20)
Parameter
Nama | Deskripsi |
---|---|
count
Diperlukan
|
jumlah baris dari atas tabel untuk dipilih |
Mengembalikan
Jenis | Deskripsi |
---|---|
<xref:Pandas> <xref:Dataframe>
|
baris hitungan pertama MLTable |
skip
Menambahkan langkah transformasi untuk melewati baris hitungan pertama MLTable ini.
skip(count)
Parameter
Nama | Deskripsi |
---|---|
count
Diperlukan
|
jumlah baris yang akan dilewati |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi tambahan |
take
Menambahkan langkah transformasi untuk memilih baris hitungan pertama MLTable ini.
take(count=20)
Parameter
Nama | Deskripsi |
---|---|
count
Diperlukan
|
jumlah baris dari atas tabel untuk dipilih |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi "ambil" tambahan |
take_random_sample
Menambahkan langkah transformasi untuk memilih setiap baris MLTable ini secara acak dengan peluang probabilitas . Probabilitas harus dalam rentang [0, 1]. Dapat secara opsional mengatur benih acak.
take_random_sample(probability, seed=None)
Parameter
Nama | Deskripsi |
---|---|
probability
Diperlukan
|
kemungkinan bahwa setiap baris dipilih |
seed
Diperlukan
|
seed acak opsional |
Mengembalikan
Jenis | Deskripsi |
---|---|
MLTable dengan langkah transformasi tambahan |
to_pandas_dataframe
Muat semua rekaman dari jalur yang ditentukan dalam file MLTable ke dalam Pandas DataFrame.
to_pandas_dataframe()
Mengembalikan
Jenis | Deskripsi |
---|---|
Dataframe Pandas yang berisi rekaman dari jalur dalam MLTable ini |
Keterangan
Cuplikan kode berikut menunjukkan cara menggunakan api to_pandas_dataframe untuk mendapatkan dataframe pandas yang sesuai dengan MLTable yang disediakan.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Memvalidasi apakah data MLTable ini dapat dimuat, memerlukan sumber data MLTable agar dapat diakses dari komputasi saat ini.
validate()
Mengembalikan
Jenis | Deskripsi |
---|---|
Tidak ada |
Atribut
partition_keys
paths
Mengembalikan daftar kamus yang berisi jalur asli yang diberikan ke MLTable ini. Jalur file lokal relatif diasumsikan relatif terhadap direktori tempat file MLTable YAML instans MLTable ini dimuat.
Mengembalikan
Jenis | Deskripsi |
---|---|
daftar dict yang berisi jalur yang ditentukan dalam MLTable |