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.object
MLTable

Konstruktor

MLTable()

Metode

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()
       }
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
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

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
str

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
int

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
Union[str, list[str], <xref:builtin.tuple>[str], <xref:builtin.set>[str]]

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
str

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
list of int

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
int

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
int

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
int

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

Memunculkan kunci partisi.

Mengembalikan

Jenis Deskripsi

kunci partisi

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