MLTable 클래스
MLTable을 나타냅니다.
MLTable은 데이터 원본에서 데이터를 로드하는 일련의 지연 평가, 변경할 수 없는 작업을 정의합니다. MLTable에서 데이터를 배달하라는 메시지가 표시될 때까지 데이터는 원본에서 로드되지 않습니다.
새 MLTable을 초기화합니다.
이 생성자는 직접 호출할 수 없습니다. MLTable은 load.
생성자
MLTable()
메서드
convert_column_types |
지정된 열을 지정된 각각의 새 형식으로 변환하는 변환 단계를 추가합니다.
|
drop_columns |
데이터 세트에서 지정된 열을 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합이 지정된 경우 아무 것도 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다. MLTable.traits.timestamp_column 또는 MLTable.traits.index_columns 열을 삭제하려고 하면 UserErrorException이 발생합니다. |
extract_columns_from_partition_format |
각 경로의 파티션 정보를 사용하고 지정된 파티션 형식에 따라 열로 추출하는 변환 단계를 추가합니다. 형식 파트 '{column_name}'은 문자열 열을 만들고 , '{column_name:yyyy/MM/dd/HH/mm/ss}'는 날짜/시간 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 날짜/시간 형식의 연도, 월, 일, 시간, 분 및 초를 추출하는 데 사용됩니다. 형식은 첫 번째 파티션 키의 위치에서 파일 경로의 끝까지 시작해야 합니다. 예를 들어 파티션이 부서 이름 및 시간별인 경로 '/Accounts/2019/01/01/data.csv'을 지정합니다. partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'' 값이 'Accounts'인 문자열 열 'Department'와 '2019-01-01' 값이 있는 datetime 열 'PartitionDate'를 만듭니다. |
filter |
지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다. |
get_partition_count |
이 MLTable과 연결된 데이터의 기본 데이터 파티션 수를 반환합니다. |
keep_columns |
지정된 열을 유지하고 다른 모든 열을 데이터 세트에서 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합이 지정된 경우 아무 것도 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다. MLTable.traits.timestamp_column 열 또는 MLTable.traits.index_columns 열이 명시적으로 유지되지 않으면 UserErrorException이 삭제됩니다. |
random_split |
이 MLTable을 두 개의 MLTable로 임의로 분할합니다. 하나는 원래 MLTable 데이터의 약 "백분율"% 있고 다른 하나는 나머지(1-"퍼센트"%)를 가집니다. |
save |
이 MLTable을 MLTable YAML 파일 및 지정된 디렉터리 경로에 연결된 경로로 저장합니다. 경로가 지정되지 않은 경우 기본값은 현재 작업 디렉터리입니다. 경로가 없으면 만들어집니다. 경로가 원격인 경우 기본 데이터 저장소가 이미 있어야 합니다. 경로가 로컬 디렉터리이고 절대 디렉터리가 아니면 절대 경로가 됩니다. 경로가 파일을 가리키는 경우 UserErrorException이 발생합니다. 경로가 이미 저장되고 있는 하나 이상의 파일(MLTable YAML 파일 포함)이 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다. 연결된 경로가 경로에 저장되는 방법을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로가 지정된 대로 유지되며, 필요한 경우 경로 리디렉션을 기준으로 로컬 파일 경로가 만들어집니다. False로 인해 권장되지 않는 MLTable YAML 파일이 표시되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다. 로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 MLTable을 프로그래밍 방식으로 만드는 경우 MLTable 디렉터리 경로는 현재 작업 디렉터리로 간주됩니다. 새 파일을 저장하기 전에 디렉터리가 기존 파일의 지워지지 않은 기존 MLTable 파일 및 연결된 데이터 파일이 있는 디렉터리에 새 MLTable 및 연결된 데이터 파일을 저장할 때 유의해야 합니다. 특히 기존 데이터 파일에 새 데이터 파일과 일치하는 이름이 없는 경우 새 파일을 저장한 후 이미 기존 데이터 파일이 지속될 수 있습니다. 새 MLTable에 해당 경로 아래에 패턴 지정자가 포함된 경우 기존 데이터 파일을 새 MLTable과 연결하여 의도치 않게 MLTable을 변경할 수 있습니다. 이 MLTable의 파일 경로가 경로 의 기존 파일을 가리키지만 다른 URI가 있는 경우 덮어쓰기가 'fail' 또는 'skip'인 경우 기존 파일을 덮어쓰지 않습니다(즉 건너뛰기). |
select_partitions |
파티션을 선택하는 변환 단계를 추가합니다. |
show |
이 MLTable의 첫 번째 개수 행을 Pandas 데이터 프레임으로 검색합니다. |
skip |
이 MLTable의 첫 번째 개수 행을 건너뛰는 변환 단계를 추가합니다. |
take |
변환 단계를 추가하여 이 MLTable의 첫 번째 개수 행을 선택합니다. |
take_random_sample |
확률 확률을 사용하여 이 MLTable의 각 행을 임의로 선택하는 변환 단계를 추가 합니다 . 확률은 범위 [0, 1]에 있어야 합니다. 임의 시드를 선택적으로 설정할 수 있습니다. |
to_pandas_dataframe |
MLTable 파일에 지정된 경로의 모든 레코드를 Pandas DataFrame으로 로드합니다. |
validate |
이 MLTable의 데이터를 로드할 수 있는지 확인합니다. 현재 컴퓨팅에서 MLTable의 데이터 원본에 액세스할 수 있어야 합니다. |
convert_column_types
지정된 열을 지정된 각각의 새 형식으로 변환하는 변환 단계를 추가합니다.
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)
매개 변수
Name | Description |
---|---|
column_types
필수
|
열 사전: 사용자가 변환하려는 형식 |
반환
형식 | Description |
---|---|
변환 단계가 추가된 MLTable |
drop_columns
데이터 세트에서 지정된 열을 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합이 지정된 경우 아무 것도 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.
MLTable.traits.timestamp_column 또는 MLTable.traits.index_columns 열을 삭제하려고 하면 UserErrorException이 발생합니다.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
매개 변수
Name | Description |
---|---|
columns
필수
|
이 MLTable에서 삭제할 열 |
반환
형식 | Description |
---|---|
변환 단계가 추가된 MLTable |
extract_columns_from_partition_format
각 경로의 파티션 정보를 사용하고 지정된 파티션 형식에 따라 열로 추출하는 변환 단계를 추가합니다.
형식 파트 '{column_name}'은 문자열 열을 만들고 , '{column_name:yyyy/MM/dd/HH/mm/ss}'는 날짜/시간 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 날짜/시간 형식의 연도, 월, 일, 시간, 분 및 초를 추출하는 데 사용됩니다.
형식은 첫 번째 파티션 키의 위치에서 파일 경로의 끝까지 시작해야 합니다. 예를 들어 파티션이 부서 이름 및 시간별인 경로 '/Accounts/2019/01/01/data.csv'을 지정합니다. partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'' 값이 'Accounts'인 문자열 열 'Department'와 '2019-01-01' 값이 있는 datetime 열 'PartitionDate'를 만듭니다.
extract_columns_from_partition_format(partition_format)
매개 변수
Name | Description |
---|---|
partition_format
필수
|
데이터를 열로 추출하는 데 사용할 파티션 형식 |
반환
형식 | Description |
---|---|
파티션 형식이 지정된 형식으로 설정된 MLTable |
filter
지정된 식과 일치하는 레코드만 남겨두고 데이터를 필터링합니다.
filter(expression)
매개 변수
Name | Description |
---|---|
expression
필수
|
평가할 식입니다. |
반환
형식 | Description |
---|---|
필터 후 MLTable |
설명
식은 mltable을 열 이름으로 인덱싱하여 시작합니다. 다양한 함수와 연산자를 지원하며 논리 연산자를 사용하여 결합할 수 있습니다. 결과 식은 데이터 끌어오기가 발생할 때 정의되는 위치가 아니라 각 레코드에 대해 지연 계산됩니다.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
이 MLTable과 연결된 데이터의 기본 데이터 파티션 수를 반환합니다.
get_partition_count() -> int
반환
형식 | Description |
---|---|
이 MLTable의 데이터 파티션 |
keep_columns
지정된 열을 유지하고 다른 모든 열을 데이터 세트에서 삭제하는 변환 단계를 추가합니다. 빈 목록, 튜플 또는 집합이 지정된 경우 아무 것도 삭제되지 않습니다. 중복 열은 UserErrorException을 발생합니다.
MLTable.traits.timestamp_column 열 또는 MLTable.traits.index_columns 열이 명시적으로 유지되지 않으면 UserErrorException이 삭제됩니다.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
매개 변수
Name | Description |
---|---|
columns
필수
|
유지할 이 MLTable의 열 |
반환
형식 | Description |
---|---|
변환 단계가 추가된 MLTable |
random_split
이 MLTable을 두 개의 MLTable로 임의로 분할합니다. 하나는 원래 MLTable 데이터의 약 "백분율"% 있고 다른 하나는 나머지(1-"퍼센트"%)를 가집니다.
random_split(percent=0.5, seed=None)
매개 변수
Name | Description |
---|---|
percent
필수
|
분할할 MLTable의 백분율 |
seed
필수
|
선택적 임의 시드 |
반환
형식 | Description |
---|---|
이 MLTable의 데이터가 "백분율"로 분할된 두 개의 MLTable |
save
이 MLTable을 MLTable YAML 파일 및 지정된 디렉터리 경로에 연결된 경로로 저장합니다.
경로가 지정되지 않은 경우 기본값은 현재 작업 디렉터리입니다. 경로가 없으면 만들어집니다. 경로가 원격인 경우 기본 데이터 저장소가 이미 있어야 합니다. 경로가 로컬 디렉터리이고 절대 디렉터리가 아니면 절대 경로가 됩니다.
경로가 파일을 가리키는 경우 UserErrorException이 발생합니다. 경로가 이미 저장되고 있는 하나 이상의 파일(MLTable YAML 파일 포함)이 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다.
연결된 경로가 경로에 저장되는 방법을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로가 지정된 대로 유지되며, 필요한 경우 경로 리디렉션을 기준으로 로컬 파일 경로가 만들어집니다. False로 인해 권장되지 않는 MLTable YAML 파일이 표시되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다.
로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 MLTable을 프로그래밍 방식으로 만드는 경우 MLTable 디렉터리 경로는 현재 작업 디렉터리로 간주됩니다.
새 파일을 저장하기 전에 디렉터리가 기존 파일의 지워지지 않은 기존 MLTable 파일 및 연결된 데이터 파일이 있는 디렉터리에 새 MLTable 및 연결된 데이터 파일을 저장할 때 유의해야 합니다. 특히 기존 데이터 파일에 새 데이터 파일과 일치하는 이름이 없는 경우 새 파일을 저장한 후 이미 기존 데이터 파일이 지속될 수 있습니다. 새 MLTable에 해당 경로 아래에 패턴 지정자가 포함된 경우 기존 데이터 파일을 새 MLTable과 연결하여 의도치 않게 MLTable을 변경할 수 있습니다.
이 MLTable의 파일 경로가 경로 의 기존 파일을 가리키지만 다른 URI가 있는 경우 덮어쓰기가 'fail' 또는 'skip'인 경우 기존 파일을 덮어쓰지 않습니다(즉 건너뛰기).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
매개 변수
Name | Description |
---|---|
path
필수
|
저장할 디렉터리 경로, 기본적으로 현재 작업 디렉터리 |
colocated
필수
|
True이면 이 MLTable의 로컬 및 원격 파일 경로 복사본을 경로 아래의 상대 경로 로 저장합니다. 그렇지 않으면 파일 복사가 발생하지 않으며, 저장된 MLTable YAML 파일 및 로컬 파일 경로에 지정된 대로 원격 파일 경로가 경로 리디렉션이 있는 상대 파일 경로로 저장됩니다. 경로가 원격이고 이 MLTable에 로컬 파일 경로가 포함된 경우 UserErrorException이 발생합니다. |
overwrite
필수
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
경로 아래에 이미 존재할 수 있는 MLTable YAML 파일 및 관련 파일이 처리되는 방식 옵션은 기존 파일을 바꾸기 위한 '덮어쓰기'(또는 True)이거나, 파일이 이미 있는 경우 오류를 발생시키는 'fail'(또는 False) 또는 기존 파일을 그대로 두는 'skip'입니다. 을 사용하여 <xref:mltable.MLTableSaveOverwriteOptions>설정할 수도 있습니다. |
show_progress
필수
|
stdout에 복사 진행률을 표시합니다. |
if_err_remove_files
필수
|
저장하는 동안 오류가 발생하면 성공적으로 저장된 파일을 제거하여 작업을 원자성으로 만듭니다. |
반환
형식 | Description |
---|---|
이 MLTable 인스턴스 |
select_partitions
파티션을 선택하는 변환 단계를 추가합니다.
select_partitions(partition_index_list)
매개 변수
Name | Description |
---|---|
partition_index_list
필수
|
파티션 인덱스 목록 |
반환
형식 | Description |
---|---|
파티션 크기가 업데이트된 MLTable |
설명
다음 코드 조각은 제공된 MLTable에서 선택한 파티션에 select_partitions api를 사용하는 방법을 보여 줍니다.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
이 MLTable의 첫 번째 개수 행을 Pandas 데이터 프레임으로 검색합니다.
show(count=20)
매개 변수
Name | Description |
---|---|
count
필수
|
테이블 맨 위에서 선택할 행 수 |
반환
형식 | Description |
---|---|
<xref:Pandas> <xref:Dataframe>
|
MLTable의 첫 번째 개수 행 수 |
skip
이 MLTable의 첫 번째 개수 행을 건너뛰는 변환 단계를 추가합니다.
skip(count)
매개 변수
Name | Description |
---|---|
count
필수
|
건너뛸 행 수 |
반환
형식 | Description |
---|---|
변환 단계가 추가된 MLTable |
take
take_random_sample
to_pandas_dataframe
MLTable 파일에 지정된 경로의 모든 레코드를 Pandas DataFrame으로 로드합니다.
to_pandas_dataframe()
반환
형식 | Description |
---|---|
이 MLTable의 경로에서 레코드를 포함하는 Pandas 데이터 프레임 |
설명
다음 코드 조각은 to_pandas_dataframe api를 사용하여 제공된 MLTable에 해당하는 pandas 데이터 프레임을 가져오는 방법을 보여 줍니다.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
이 MLTable의 데이터를 로드할 수 있는지 확인합니다. 현재 컴퓨팅에서 MLTable의 데이터 원본에 액세스할 수 있어야 합니다.
validate()
반환
형식 | Description |
---|---|
없음 |