MLTable 클래스
MLTable을 나타냅니다.
MLTable은 데이터 원본에서 데이터를 로드하기 위해 지연 평가되고 변경할 수 없는 일련의 작업을 정의합니다. MLTable에서 데이터를 배달하라는 메시지가 표시될 때까지 데이터는 원본에서 로드되지 않습니다.
새 MLTable을 초기화합니다.
이 생성자는 직접 호출할 수 없습니다. MLTable은 를 사용하여 load만듭니다.
- 상속
-
builtins.objectMLTable
생성자
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}'는 datetime 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 datetime 형식의 연도, 월, 일, 시, 분 및 초를 추출하는 데 사용됩니다. 형식은 첫 번째 파티션 키의 위치에서 시작하여 파일 경로의 끝까지입니다. 예를 들어 파티션이 부서 이름과 시간을 기준으로 하는 '/Accounts/2019/01/01/data.csv' 경로가 지정된 경우 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'은 값이 'Accounts'이고 datetime 열 'PartitionDate'가 '2019-01-01'인 문자열 열 'Department'를 만듭니다. |
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이 발생합니다. path가 저장 중인 하나 이상의 파일(MLTable YAML 파일 포함)이 이미 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다. 연결된 경로가경로에 저장되는 방식을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로는 지정된 대로 유지되며, 로컬 파일 경로는 필요한 경우 경로 리디렉션을 기준으로 만들어집니다. False이면 지정되지 않은 MLTable YAML 파일이 권장되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다. MLTable이 로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 프로그래밍 방식으로 만든 경우 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}'는 datetime 열을 만듭니다. 여기서 'yyyy', 'MM', 'dd', 'HH', 'mm' 및 'ss'는 datetime 형식의 연도, 월, 일, 시, 분 및 초를 추출하는 데 사용됩니다.
형식은 첫 번째 파티션 키의 위치에서 시작하여 파일 경로의 끝까지입니다. 예를 들어 파티션이 부서 이름과 시간을 기준으로 하는 '/Accounts/2019/01/01/data.csv' 경로가 지정된 경우 partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.csv'은 값이 'Accounts'이고 datetime 열 'PartitionDate'가 '2019-01-01'인 문자열 열 'Department'를 만듭니다.
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이 발생합니다. path가 저장 중인 하나 이상의 파일(MLTable YAML 파일 포함)이 이미 포함된 디렉터리 경로이고 덮어쓰기가 False 또는 'fail'로 설정된 경우 UserErrorException이 발생합니다. 경로가 원격인 경우 공동 배치된 경로로 지정되지 않은 로컬 파일 경로(MLTable이 로드된 디렉터리를 기준으로 하는 파일 경로)는 UserErrorException을 발생합니다.
연결된 경로가경로에 저장되는 방식을 공동 배치된 컨트롤입니다. True이면 파일이 MLTable YAML 파일과 함께 경로 에 상대 파일 경로로 복사됩니다. 그렇지 않으면 연결된 파일이 복사되지 않고, 원격 경로는 지정된 대로 유지되며, 로컬 파일 경로는 필요한 경우 경로 리디렉션을 기준으로 만들어집니다. False이면 지정되지 않은 MLTable YAML 파일이 권장되지 않을 수 있습니다. 또한 경로 가 원격인 경우 상대 경로 리디렉션이 원격 URI에 대해 지원되지 않으므로 UserErrorException이 발생합니다.
MLTable이 로컬 상대 경로가 있는 from_paths() 또는 from_read_delimited_files() 와 같은 메서드를 사용하여 프로그래밍 방식으로 만든 경우 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 instance |
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
이 MLTable의 첫 번째 개수 행을 선택하는 변환 단계를 추가합니다.
take(count=20)
매개 변수
Name | Description |
---|---|
count
필수
|
선택할 테이블 위쪽의 행 수 |
반환
형식 | Description |
---|---|
"take" 변환 단계가 추가된 MLTable |
take_random_sample
확률 확률로 이 MLTable의 각 행을 임의로 선택하는 변환 단계를 추가 합니다 . 확률은 범위 [0, 1]에 있어야 합니다. 임의 시드를 선택적으로 설정할 수 있습니다.
take_random_sample(probability, seed=None)
매개 변수
Name | Description |
---|---|
probability
필수
|
각 행이 선택될 수 있습니다. |
seed
필수
|
선택적 임의 시드 |
반환
형식 | Description |
---|---|
변환 단계가 추가된 MLTable |
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 |
---|---|
없음 |