Bagikan melalui


mltable Paket

Berisi fungsionalitas untuk berinteraksi dengan yang sudah ada dan membuat file MLTable baru.

Dengan paket mltable Anda dapat memuat, mengubah, dan menganalisis data di lingkungan Python apa pun, termasuk Jupyter Notebooks atau IDE Python favorit Anda.

Paket

tests

Berisi fungsionalitas untuk berinteraksi dengan yang sudah ada dan membuat file MLTable baru.

Dengan paket mltable Anda dapat memuat, mengubah, dan menganalisis data di lingkungan Python apa pun, termasuk Jupyter Notebooks atau IDE Python favorit Anda.

Modul

mltable

Berisi fungsionalitas untuk membuat dan berinteraksi dengan objek MLTable

Kelas

DataType

Kelas pembantu untuk menangani manipulasi yang tepat dari jenis kolom yang didukung (int, bool, string, dll.). Saat ini digunakan dengan MLTable.convert_column_types(...) & from_delimited_files(...) untuk menentukan tipe mana yang akan dikonversi kolom. Jenis yang berbeda dipilih dengan DataType.from_(...) *Metode.

MLTable

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.

Enum

MLTableFileEncoding

Menentukan opsi tentang bagaimana pengodean diproses saat membaca data dari file untuk membuat MLTable.

Nilai enumerasi ini digunakan di kelas MLTable.

MLTableHeaders

Menentukan opsi bagaimana header kolom diproses saat membaca data dari file untuk membuat MLTable.

Nilai enumerasi ini digunakan di kelas MLTable.

Fungsi

from_delimited_files

Membuat MLTable dari daftar file yang dibatasi yang diberikan.

from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)

Parameter

Nama Deskripsi
paths
Diperlukan

Jalur mendukung file atau folder dengan jalur lokal atau cloud. Jalur file lokal relatif diasumsikan relatif terhadap direktori kerja saat ini. Jika direktori induk jalur file lokal relatif bukan direktori kerja saat ini, sebaiknya lewati jalur tersebut sebagai jalur file absolut.

header
Diperlukan

Bagaimana header kolom ditangani saat membaca dari file. Opsi yang ditentukan menggunakan enum MLTableHeaders. Header yang didukung adalah 'no_header', 'from_first_file', 'all_files_different_headers', dan 'all_files_same_headers'.

delimiter
Diperlukan
str

pemisah yang digunakan untuk memisahkan kolom

support_multi_line
Diperlukan

Jika Salah, semua pemisah baris, termasuk yang ada dalam nilai bidang yang dikutip, akan ditafsirkan sebagai pemisah rekaman. Membaca data dengan cara ini lebih cepat dan lebih dioptimalkan untuk eksekusi bersamaan pada beberapa inti CPU. Namun, ini dapat mengakibatkan diam-diam menghasilkan lebih banyak rekaman dengan nilai bidang yang tidak sejajar. Ini harus diatur ke True ketika file yang dibatasi diketahui berisi ganti baris yang dikutip.

Mengingat file csv ini misalnya, data akan dibaca secara berbeda berdasarkan support_multi_line.

A,B,C A1,B1,C1 A2,"B 2",C2


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(path)
   print(mltable.to_pandas_dataframe())
   #      A   B     C
   #  0  A1  B1    C1
   #  1  A2   B  None
   #  2  2"  C2  None

   # to handle quoted line breaks
   mltable = from_delimited_files(path, support_multi_line=True)
   print(mltable.to_pandas_dataframe())
   #      A       B   C
   #  0  A1      B1  C1
   #  1  A2  B\r\n2  C2
empty_as_string
Diperlukan

Bagaimana bidang kosong harus ditangani. Jika True akan membaca bidang kosong sebagai string kosong, jika tidak dibaca sebagai null. Jika True dan kolom berisi data tanggalwaktu atau numerik, bidang kosong masih dibaca sebagai null.

encoding
Diperlukan

Menentukan pengodean file menggunakan enum MLTableFileEncoding. Pengodean yang didukung adalah:

  • utf8 sebagai "utf8", "utf-8", "utf-8 bom"
  • iso88591 sebagai "iso88591" atau "iso-8859-1"
  • latin1 sebagai "latin1" atau "latin-1"
  • utf16 sebagai "utf16" atau "utf-16"
  • windows1252 sebagai "windows1252" atau "windows-1252"
include_path_column
Diperlukan

Simpan informasi jalur sebagai kolom di MLTable, berguna saat membaca beberapa file dan Anda ingin mengetahui file mana yang berasal dari rekaman tertentu, atau untuk menyimpan informasi berguna yang mungkin disimpan di jalur file.

infer_column_types
Diperlukan

Jika True, secara otomatis menyimpulkan semua jenis kolom. Jika False, meninggalkan kolom sebagai string. Jika kamus, mewakili kolom yang jenisnya akan diatur ke jenis tertentu (dengan semua kolom lain disimpulkan). Kamus mungkin berisi kunci bernama sample_size dipetakan ke angka bilangan bulat positif, yang menunjukkan jumlah baris yang akan digunakan untuk menyimpulkan jenis kolom. Kamus juga dapat berisi kunci bernama 'column_type_overrides'. Setiap kunci dalam kamus adalah string yang mewakili nama kolom atau tuple string yang mewakili sekelompok nama kolom. Setiap nilai adalah string (salah satu dari 'boolean', 'string', 'float', atau 'int') atau DataType. mltable. DataType.to_stream() tidak didukung. Jika kamus kosong diberikan, diasumsikan true. Default ke True.

Contoh cara memformat infer_column_types.


   from mltable import from_delimited_files

   # default behavior: support_multi_line=False
   mltable = from_delimited_files(paths, infer_column_types={
       'sample_size': 100,
       'column_type_overrides': {
           'colA': 'boolean'
           ('colB', 'colC'): DataType.to_int()
       }
   })

Mengembalikan

Jenis Deskripsi

MLTable

Keterangan

Harus ada string jalur yang valid.


   # load mltable from local delimited file
   from mltable import from_delimited_files
   paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
   mltable = from_delimited_files(paths)

from_delta_lake

Membuat objek MLTable untuk dibaca dalam file Parquet dari tabel delta lake.

from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)

Parameter

Nama Deskripsi
delta_table_uri
Diperlukan
str

URI menunjuk ke direktori tabel delta yang berisi file parket delta lake untuk dibaca. Jenis URI yang didukung adalah: URI jalur lokal, URI penyimpanan, URI datastore bentuk panjang, atau uri aset data.

timestamp_as_of
Diperlukan

string tanggalwaktu dalam format RFC-3339/ISO-8601 untuk digunakan untuk membaca dalam mencocokkan file parket dari titik waktu tertentu. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"

version_as_of
Diperlukan
int

versi bilangan bulat yang digunakan untuk membaca dalam versi file parket tertentu.

include_path_column
Diperlukan

Pertahankan informasi jalur sebagai kolom, berguna saat membaca beberapa file dan Anda ingin mengetahui dari file mana rekaman tertentu berasal, atau untuk menyimpan informasi berguna yang mungkin disimpan di jalur file.

Mengembalikan

Jenis Deskripsi

Instans MLTable

Keterangan

from_delta_lake membuat objek MLTable yang menentukan operasi untuk memuat data dari folder delta lake ke dalam representasi tabular.

Agar data dapat diakses oleh Azure Machine Learning, jalur harus menunjuk ke direktori tabel delta dan file delta lake yang direferensikan harus dapat diakses oleh layanan AzureML atau di belakang url web publik.

from_delta_lake mendukung pembacaan data delta lake dari uri yang menunjuk ke: jalur lokal, Blob, ADLS Gen1, dan ADLS Gen2

Pengguna dapat membaca dan mewujudkan data dengan memanggil to_pandas_dataframe() pada MLTable yang dikembalikan


   # create an MLTable object from a delta lake using timestamp versioning and materialize the data
   from mltable import from_delta_lake
   mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
   pd = mltable_ts.to_pandas_dataframe()

   # create  an MLTable object from a delta lake using integer versioning and materialize the data
   from mltable import from_delta_lake
   mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
   pd = mltable_version.to_pandas_dataframe()

from_json_lines_files

Buat MLTable dari daftar jalur file JSON yang diberikan.

from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)

Parameter

Nama Deskripsi
paths
Diperlukan

Jalur mendukung file atau folder dengan jalur lokal atau cloud. Jalur file lokal relatif diasumsikan relatif terhadap direktori kerja saat ini. Jika direktori induk jalur file lokal relatif bukan direktori kerja saat ini, sebaiknya lewati jalur tersebut sebagai jalur file absolut.

invalid_lines
Diperlukan
str

Cara menangani baris yang JSON tidak valid, bisa berupa 'drop' atau 'error'. Jika baris yang tidak valid 'drop' dihilangkan, kesalahan lain akan muncul.

encoding
Diperlukan

Menentukan pengodean file menggunakan enum MLTableFileEncoding. Pengodean file yang didukung:

  • utf8 sebagai "utf8", "utf-8", "utf-8 bom"
  • iso88591 sebagai "iso88591" atau "iso-8859-1"
  • latin1 sebagai "latin1" atau "latin-1"
  • utf16 sebagai "utf16" atau "utf-16"
  • windows1252 sebagai "windows1252" atau "windows-1252"
include_path_column
Diperlukan

Pertahankan informasi jalur sebagai kolom, berguna saat membaca beberapa file dan Anda ingin mengetahui dari file mana rekaman tertentu berasal, atau untuk menyimpan informasi berguna yang mungkin disimpan di jalur file.

Mengembalikan

Jenis Deskripsi

MLTable

Keterangan

Harus ada kamus jalur yang valid


   # load mltable from local JSON paths
   from mltable import from_json_lines_files
   paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
   mltable = from_json_lines_files(paths)

from_parquet_files

Buat MLTable dari daftar file parket yang diberikan.

from_parquet_files(paths, include_path_column=False)

Parameter

Nama Deskripsi
paths
Diperlukan

Jalur mendukung file atau folder dengan jalur lokal atau cloud. Jalur file lokal relatif diasumsikan relatif terhadap direktori kerja saat ini. Jika direktori induk jalur file lokal relatif bukan direktori kerja saat ini, sebaiknya lewati jalur tersebut sebagai jalur file absolut.

include_path_column
Diperlukan

Pertahankan informasi jalur sebagai kolom, berguna saat membaca beberapa file dan Anda ingin mengetahui dari file mana rekaman tertentu berasal, atau untuk menyimpan informasi berguna yang mungkin disimpan di jalur file.

Mengembalikan

Jenis Deskripsi

Instans MLTable

Keterangan

Harus ada kamus jalur yang valid


   # load mltable from local parquet paths
   from mltable import from_parquet_files
   paths = [{'file': './samples/mltable_sample/sample.parquet'}]
   mltable = from_parquet_files(paths)

from_paths

Buat MLTable dari jalur yang diberikan.

from_paths(paths)

Parameter

Nama Deskripsi
paths
Diperlukan

Jalur mendukung file atau folder dengan jalur lokal atau cloud. Jalur file lokal relatif diasumsikan relatif terhadap direktori kerja saat ini. Jika direktori induk jalur file lokal relatif bukan direktori kerja saat ini, sebaiknya lewati jalur tersebut sebagai jalur file absolut.

Mengembalikan

Jenis Deskripsi

Instans MLTable

Keterangan

Harus ada kamus jalur yang valid


   # load mltable from local paths
   from mltable import from_paths
   tbl = from_paths([{'file': "./samples/mltable_sample"}])

   # load mltable from cloud paths
   from mltable import load
   tbl = from_paths(
       [{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])

load

Memuat file MLTable (YAML) yang ada di uri yang diberikan.

storage_options mendukung kunci 'langganan', 'resource_group', 'ruang kerja', atau 'lokasi'. Semua harus menemukan ruang kerja pembelajaran mesin Azure.

load(uri, storage_options: dict = None, ml_client=None)

Parameter

Nama Deskripsi
uri
Diperlukan
str

uri mendukung uri datastore bentuk panjang, uri penyimpanan, jalur lokal, atau uri aset data atau uri pendek aset data

storage_options
Diperlukan

Info ruang kerja AML saat URI adalah aset AML

ml_client
Diperlukan

Mengembalikan

Jenis Deskripsi

MLTable

Keterangan

Harus ada file YAML MLTable yang valid bernama 'MLTable' yang ada di uri yang diberikan.


   # load mltable from local folder
   from mltable import load
   tbl = load('.\samples\mltable_sample')

   # load mltable from azureml datastore uri
   from mltable import load
   tbl = load(
       'azureml://subscriptions/<subscription-id>/
       resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
       datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')

   # load mltable from azureml data asset uri
   from mltable import load
   tbl = load(
         'azureml://subscriptions/<subscription-id>/
         resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
         workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')

   # load mltable from azureml data asset short uri
   from mltable import load
   from azure.ai.ml import MLClient
   from azure.identity import DefaultAzureCredential
   credential = DefaultAzureCredential()
   ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
   tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)