Datasets documentation
테이블 클래스
테이블 클래스
각 Dataset 객체는 PyArrow Table에 의해 뒷받침됩니다.
Table은 디스크(메모리 매핑) 또는 메모리에서 로드될 수 있습니다.
여러 Table 유형이 있으며, 모두 table.Table에서 상속됩니다.
표
composition을 사용하여 pyarrow Table을 래핑합니다.
이것은 InMemoryTable, MemoryMappedTable 및 ConcatenationTable의 기본 클래스입니다.
pyarrow Table 클래스의 기본 속성/메서드 중 Table 변환을 제외한 모든 것을 구현합니다: slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns 및 drop.
이러한 메서드의 구현은 하위 클래스에 따라 다릅니다.
validate
< source >( *args**kwargs )
검증 검사를 수행합니다. 검증이 실패하면 예외가 발생됩니다.
기본값으로 실행되는 검증은 저비용 검증만 수행됩니다. 철저한 검증(최대 O(n))을 수행하려면 full=True를 전달하세요.
equals
< source >( *args**kwargs ) → bool
매개변수
- other (Table) — 비교할 테이블.
- check_metadata
bool, 기본값False) — 스키마 메타데이터의 동등성도 검사할지 여부입니다.
반환값
bool
두 테이블의 내용이 동일한지 확인합니다.
to_batches
< source >( *args**kwargs )
RecordBatch 객체(연속)의 목록으로 Table을 변환합니다.
Table을 dict 또는 OrderedDict로 변환합니다.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
매개변수
- memory_pool (
MemoryPool, 기본값None) — 할당에 사용할 Arrow MemoryPool입니다. 전달되지 않으면 기본 메모리 풀을 사용합니다. - strings_to_categorical (
bool, 기본값False) — 문자열(UTF8) 및 바이너리 유형을pandas.Categorical로 인코딩합니다. - categories (
list, 기본값empty) —pandas.Categorical로 반환할 필드의 목록입니다. 테이블 형태의 데이터 구조에만 적용됩니다. - zero_copy_only (
bool, 기본값False) — 이 함수 호출이 기본 데이터를 복사해야 하는 경우ArrowException을 발생시킵니다. - integer_object_nulls (
bool, 기본값False) — null이 포함된 정수를 object로 변환합니다. - date_as_object (
bool, 기본값True) — 날짜를 object로 변환합니다.False인 경우datetime64[ns]dtype으로 변환합니다. - timestamp_as_object (
bool, 기본값False) — 나노초가 아닌 타임스탬프(np.datetime64)를 객체로 변환합니다. 이는 나노초 타임스탬프의 일반적인 날짜 범위(1678년~2262년)에 맞지 않는 타임스탬프가 있는 경우 유용합니다.False인 경우, 모든 타임스탬프가datetime64[ns]dtype으로 변환됩니다. - use_threads (
bool, 기본값True) — 여러 스레드를 사용하여 변환을 병렬화할지 여부입니다. - deduplicate_objects (
bool, 기본값False) — 메모리 사용량을 줄이기 위해 생성 시 Python 객체의 여러 사본을 만들지 않습니다. 변환 속도는 느려집니다. - ignore_metadata (
bool, 기본값False) —True인 경우, 존재하는 ‘pandas’ 메타데이터를 사용하여 DataFrame 인덱스를 재구성하지 않습니다. - safe (
bool, 기본값True) — 일부 데이터 타입의 경우 pandas DataFrame 또는 Series에 데이터를 저장하려면 캐스팅이 필요합니다(예: pandas에서는 타임스탬프가 항상 나노초로 저장됨). 이 옵션은 캐스팅이 안전한지 여부를 제어합니다. - split_blocks (
bool, 기본값False) —True인 경우,RecordBatch또는Table에서 pandas.DataFrame을 생성할 때 각 열마다 하나의 내부 “block”을 생성합니다. 이를 통해 메모리를 일시적으로 줄일 수 있지만, 다양한 pandas 연산이 “consolidation”을 트리거하여 메모리 사용량이 급증할 수 있음을 유의하세요. - self_destruct (
bool, 기본값False) — EXPERIMENTAL:True인 경우, Arrow 객체를 pandas로 변환하는 동안 원본 Arrow 메모리를 해제하려고 시도합니다. 이 옵션을 사용하여to_pandas를 호출한 후 해당 객체를 사용하면 프로그램이 충돌합니다. - types_mapper (
function, 기본값None) — pyarrow DataType를 pandasExtensionDtype으로 매핑하는 함수입니다. 이 함수는 내장 pyarrow 타입의 변환 또는 Table 스키마에pandas_metadata가 없는 경우 기본 pandas 타입을 재정의하는 데 사용할 수 있습니다. 이 함수는 pyarrow DataType를 인자로 받아 해당 타입에 대해 기본 변환을 사용해야 하면 pandasExtensionDtype또는None을 반환해야 합니다. 사전 매핑이 있는 경우dict.get을 함수로 전달할 수 있습니다.
반환값
pandas.Series 또는 pandas.DataFrame
객체의 유형에 따라 pandas.Series 또는 pandas.DataFrame
상황에 맞게 pandas와 호환되는 NumPy 배열 또는 DataFrame으로 변환합니다.
column name 또는 숫자 인덱스를 사용하여 스키마 필드를 선택합니다.
column name 또는 숫자 인덱스를 사용하여 컬럼을 선택합니다.
숫자 순서대로 모든 열을 반복합니다.
테이블 및 해당 열의 스키마.
숫자 순서대로 나열된 모든 열 목록.
이 테이블의 열 수.
의 차원: (#rows, #columns).
테이블의 요소들이 소비하는 바이트의 총 수.
InMemoryTable
in-memory라고 하는 것은 테이블이 사용자의 RAM에 로드된 경우를 의미합니다.
Pickling은 메모리를 사용하여 모든 데이터를 복사합니다. 구현은 간단하며, 기본적으로 pyarrow의 Table 메서드를 직접 사용합니다.
MemoryMapped 테이블과는 다릅니다. MemoryMapped의 경우 pickling 시 메모리에 있는 모든 데이터를 복사하지 않습니다. MemoryMapped의 경우 unpickling 시 테이블을 디스크에서 다시 로드합니다.
InMemoryTable은 데이터가 메모리에 들어갈 수 있을 때 사용해야 하며, MemoryMapped은 메모리보다 큰 데이터를 처리하거나 애플리케이션의 메모리 사용량을 낮게 유지하고 싶을 때 사용하는 것입니다.
validate
< source >( *args**kwargs )
검증 검사를 수행합니다. 검증이 실패하면 예외가 발생됩니다.
기본값으로 실행되는 검증은 저비용 검증만 수행됩니다. 철저한 검증(최대 O(n))을 수행하려면 full=True를 전달하세요.
equals
< source >( *args**kwargs ) → bool
매개변수
- other (Table) — 비교할 테이블.
- check_metadata
bool, 기본값False) — 스키마 메타데이터의 동등성도 검사할지 여부입니다.
반환값
bool
두 테이블의 내용이 동일한지 확인합니다.
to_batches
< source >( *args**kwargs )
RecordBatch 객체(연속)의 목록으로 Table을 변환합니다.
Table을 dict 또는 OrderedDict로 변환합니다.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
매개변수
- memory_pool (
MemoryPool, 기본값None) — 할당에 사용할 Arrow MemoryPool입니다. 전달되지 않으면 기본 메모리 풀을 사용합니다. - strings_to_categorical (
bool, 기본값False) — 문자열(UTF8) 및 바이너리 유형을pandas.Categorical로 인코딩합니다. - categories (
list, 기본값empty) —pandas.Categorical로 반환할 필드의 목록입니다. 테이블 형태의 데이터 구조에만 적용됩니다. - zero_copy_only (
bool, 기본값False) — 이 함수 호출이 기본 데이터를 복사해야 하는 경우ArrowException을 발생시킵니다. - integer_object_nulls (
bool, 기본값False) — null이 포함된 정수를 object로 변환합니다. - date_as_object (
bool, 기본값True) — 날짜를 object로 변환합니다.False인 경우datetime64[ns]dtype으로 변환합니다. - timestamp_as_object (
bool, 기본값False) — 나노초가 아닌 타임스탬프(np.datetime64)를 객체로 변환합니다. 이는 나노초 타임스탬프의 일반적인 날짜 범위(1678년~2262년)에 맞지 않는 타임스탬프가 있는 경우 유용합니다.False인 경우, 모든 타임스탬프가datetime64[ns]dtype으로 변환됩니다. - use_threads (
bool, 기본값True) — 여러 스레드를 사용하여 변환을 병렬화할지 여부입니다. - deduplicate_objects (
bool, 기본값False) — 메모리 사용량을 줄이기 위해 생성 시 Python 객체의 여러 사본을 만들지 않습니다. 변환 속도는 느려집니다. - ignore_metadata (
bool, 기본값False) —True인 경우, 존재하는 ‘pandas’ 메타데이터를 사용하여 DataFrame 인덱스를 재구성하지 않습니다. - safe (
bool, 기본값True) — 일부 데이터 타입의 경우 pandas DataFrame 또는 Series에 데이터를 저장하려면 캐스팅이 필요합니다(예: pandas에서는 타임스탬프가 항상 나노초로 저장됨). 이 옵션은 캐스팅이 안전한지 여부를 제어합니다. - split_blocks (
bool, 기본값False) —True인 경우,RecordBatch또는Table에서 pandas.DataFrame을 생성할 때 각 열마다 하나의 내부 “block”을 생성합니다. 이를 통해 메모리를 일시적으로 줄일 수 있지만, 다양한 pandas 연산이 “consolidation”을 트리거하여 메모리 사용량이 급증할 수 있음을 유의하세요. - self_destruct (
bool, 기본값False) — EXPERIMENTAL:True인 경우, Arrow 객체를 pandas로 변환하는 동안 원본 Arrow 메모리를 해제하려고 시도합니다. 이 옵션을 사용하여to_pandas를 호출한 후 해당 객체를 사용하면 프로그램이 충돌합니다. - types_mapper (
function, 기본값None) — pyarrow DataType를 pandasExtensionDtype으로 매핑하는 함수입니다. 이 함수는 내장 pyarrow 타입의 변환 또는 Table 스키마에pandas_metadata가 없는 경우 기본 pandas 타입을 재정의하는 데 사용할 수 있습니다. 이 함수는 pyarrow DataType를 인자로 받아 해당 타입에 대해 기본 변환을 사용해야 하면 pandasExtensionDtype또는None을 반환해야 합니다. 사전 매핑이 있는 경우dict.get을 함수로 전달할 수 있습니다.
반환값
pandas.Series 또는 pandas.DataFrame
객체의 유형에 따라 pandas.Series 또는 pandas.DataFrame
상황에 맞게 pandas와 호환되는 NumPy 배열 또는 DataFrame으로 변환합니다.
column name 또는 숫자 인덱스를 사용하여 스키마 필드를 선택합니다.
column name 또는 숫자 인덱스를 사용하여 컬럼을 선택합니다.
숫자 순서대로 모든 열을 반복합니다.
테이블 및 해당 열의 스키마.
숫자 순서대로 나열된 모든 열 목록.
이 테이블의 열 수.
의 차원: (#rows, #columns).
테이블의 요소들이 소비하는 바이트의 총 수.
테이블의 열 이름.
슬라이스
< source >( offset = 0length = None )
이 Table의 zero-copy 슬라이스를 계산합니다.
Table에서 레코드를 선택합니다. 전체 사용법은 pyarrow.compute.filter를 참조하세요.
flatten
< source >( *args**kwargs )
이 테이블을 Flatten합니다. struct 타입인 각 컬럼은 struct 필드별로 하나의 컬럼씩 Flatten됩니다. 다른 컬럼은 변경되지 않습니다.
combine_chunks
< source >( *args**kwargs )
이 테이블의 청크를 결합하여 새 테이블을 만듭니다.
각 열의 ChunkedArray에 있는 모든 기본 청크는 0개 또는 1개의 청크로 연결됩니다.
캐스트
< source >( *args**kwargs )
의 값을 다른 스키마로 변환합니다.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
실험적: 스키마의 key-value 메타데이터를 지정된 새 메타데이터(기존 메타데이터를 삭제하는 None일 수 있음)로 교체하여 테이블의 얕은 복사본을 생성합니다.
add_column
< source >( *args**kwargs ) → datasets.table.Table
Table에 position 위치에 열을 추가합니다.
추가된 열을 가진 새로운 테이블이 반환되며, 원래 테이블 객체는 변경되지 않습니다.
append_column
< source >( *args**kwargs ) → datasets.table.Table
열 목록의 끝에 열을 추가합니다.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
지정된 열을 제거하여 새 Table을 생성합니다.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Table의 position 위치에 있는 열을 교체합니다.
제공된 이름으로 열 이름이 변경된 새 테이블을 생성합니다.
의 열을 선택합니다.
지정된 열과 메타데이터를 유지한 채로 새로운 테이블을 반환합니다.
drop
< source >( *args**kwargs ) → datasets.table.Table
하나 이상의 열을 제거하고 새로운 테이블을 반환합니다.
from_pandas
< source >( *args**kwargs ) → datasets.table.Table
매개변수
- df (
pandas.DataFrame) — - schema (
pyarrow.Schema, 선택 사항) — Arrow Table의 예상 스키마입니다. 자동으로 추론할 수 없는 경우 컬럼의 유형을 지정하는 데 사용할 수 있습니다. 이 인수가 전달되면 출력은 정확히 이 스키마를 갖습니다. 스키마에 지정되었지만 DataFrame의 컬럼이나 인덱스에서 찾을 수 없는 컬럼은 오류를 발생시킵니다. 스키마에 지정되지 않은 DataFrame의 추가 컬럼이나 인덱스 레벨은 무시됩니다. - preserve_index (
bool, 선택 사항) — 결과Table에 인덱스를 추가 열로 저장할지 여부입니다. 기본값인 None은 RangeIndex를 제외하고 인덱스를 열로 저장합니다. RangeIndex는 메타데이터로만 저장됩니다. 인덱스를 반드시 열로 저장하려면preserve_index=True를 사용하세요. - nthreads (
int, 기본값None(시스템 CPU 개수만큼의 스레드를 사용할 수 있음)) — 1보다 크면, 지정된 스레드 수를 사용하여 컬럼을 병렬로 Arrow로 변환합니다. - columns (
List[str], 선택 사항) — 변환할 열의 목록입니다.None인 경우 모든 열을 사용합니다. - safe (
bool, 기본값True) — 오버플로우 또는 기타 안전하지 않은 변환을 검사합니다.
반환값
datasets.table.Table
pandas.DataFrame를 Arrow Table로 변환합니다.
결과 Arrow Table의 열 유형은 DataFrame의 pandas.Series dtype에서 추론됩니다. object가 아닌 Series의 경우, NumPy dtype이 해당 Arrow 유형으로 변환됩니다. object의 경우, 이 Series에 포함된 Python 객체를 살펴서 데이터 유형을 추측해야 합니다.
object dtype의 Series는 항상 의미 있는 Arrow 타입으로 이어질 만큼 충분한 정보를 담고 있지 않을 수 있습니다. DataFrame의 길이가 0이거나 Series에 None/nan 객체만 포함된 경우와 같이 타입을 추론할 수 없는 경우, 타입은 null로 설정됩니다. 이 동작은 명시적인 스키마를 구성하여 이 함수에 전달함으로써 방지할 수 있습니다.
from_arrays
< source >( *args**kwargs )
Arrow 배열에서 Table을 구성합니다.
from_pydict
< source >( *args**kwargs )
Arrow 배열 또는 컬럼에서 Table을 구성합니다.
from_batches
< source >( *args**kwargs ) → datasets.table.Table
Arrow RecordBatches의 시퀀스 또는 반복기로부터 Table을 구성합니다.
MemoryMappedTable
class datasets.table.MemoryMappedTable
< source >( table: Tablepath: strreplays: typing.Optional[list[tuple[str, tuple, dict]]] = None )
memory mapped 상태의 테이블은 사용자의 RAM을 사용하지 않고 대신 디스크에서 데이터를 로드하는 경우를 의미합니다.
Pickling은 데이터를 메모리에 복사하지 않습니다. 대신, 메모리 매핑된 arrow 파일의 경로와 디스크에서 테이블을 다시 로드할 때 “재실행”할 변환 목록만 Pickling됩니다.
구현에는 디스크에서 Table을 다시 로드할 때 재실행할 수 있도록, 기초 pyarrow Table에 적용된 모든 변환의 이력을 저장해야 합니다.
InMemoryTable 테이블은 pickling 시 메모리에 있는 모든 데이터를 복사하지만, 이 동작과는 다릅니다.
InMemoryTable은 데이터가 메모리에 들어갈 수 있을 때 사용해야 하며, MemoryMapped은 메모리보다 큰 데이터를 처리하거나 애플리케이션의 메모리 사용량을 낮게 유지하고 싶을 때 사용하는 것입니다.
validate
< source >( *args**kwargs )
검증 검사를 수행합니다. 검증이 실패하면 예외가 발생됩니다.
기본값으로 실행되는 검증은 저비용 검증만 수행됩니다. 철저한 검증(최대 O(n))을 수행하려면 full=True를 전달하세요.
equals
< source >( *args**kwargs ) → bool
매개변수
- other (Table) — 비교할 테이블.
- check_metadata
bool, 기본값False) — 스키마 메타데이터의 동등성도 검사할지 여부입니다.
반환값
bool
두 테이블의 내용이 동일한지 확인합니다.
to_batches
< source >( *args**kwargs )
RecordBatch 객체(연속)의 목록으로 Table을 변환합니다.
Table을 dict 또는 OrderedDict로 변환합니다.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
매개변수
- memory_pool (
MemoryPool, 기본값None) — 할당에 사용할 Arrow MemoryPool입니다. 전달되지 않으면 기본 메모리 풀을 사용합니다. - strings_to_categorical (
bool, 기본값False) — 문자열(UTF8) 및 바이너리 유형을pandas.Categorical로 인코딩합니다. - categories (
list, 기본값empty) —pandas.Categorical로 반환할 필드의 목록입니다. 테이블 형태의 데이터 구조에만 적용됩니다. - zero_copy_only (
bool, 기본값False) — 이 함수 호출이 기본 데이터를 복사해야 하는 경우ArrowException을 발생시킵니다. - integer_object_nulls (
bool, 기본값False) — null이 포함된 정수를 object로 변환합니다. - date_as_object (
bool, 기본값True) — 날짜를 object로 변환합니다.False인 경우datetime64[ns]dtype으로 변환합니다. - timestamp_as_object (
bool, 기본값False) — 나노초가 아닌 타임스탬프(np.datetime64)를 객체로 변환합니다. 이는 나노초 타임스탬프의 일반적인 날짜 범위(1678년~2262년)에 맞지 않는 타임스탬프가 있는 경우 유용합니다.False인 경우, 모든 타임스탬프가datetime64[ns]dtype으로 변환됩니다. - use_threads (
bool, 기본값True) — 여러 스레드를 사용하여 변환을 병렬화할지 여부입니다. - deduplicate_objects (
bool, 기본값False) — 메모리 사용량을 줄이기 위해 생성 시 Python 객체의 여러 사본을 만들지 않습니다. 변환 속도는 느려집니다. - ignore_metadata (
bool, 기본값False) —True인 경우, 존재하는 ‘pandas’ 메타데이터를 사용하여 DataFrame 인덱스를 재구성하지 않습니다. - safe (
bool, 기본값True) — 일부 데이터 타입의 경우 pandas DataFrame 또는 Series에 데이터를 저장하려면 캐스팅이 필요합니다(예: pandas에서는 타임스탬프가 항상 나노초로 저장됨). 이 옵션은 캐스팅이 안전한지 여부를 제어합니다. - split_blocks (
bool, 기본값False) —True인 경우,RecordBatch또는Table에서 pandas.DataFrame을 생성할 때 각 열마다 하나의 내부 “block”을 생성합니다. 이를 통해 메모리를 일시적으로 줄일 수 있지만, 다양한 pandas 연산이 “consolidation”을 트리거하여 메모리 사용량이 급증할 수 있음을 유의하세요. - self_destruct (
bool, 기본값False) — EXPERIMENTAL:True인 경우, Arrow 객체를 pandas로 변환하는 동안 원본 Arrow 메모리를 해제하려고 시도합니다. 이 옵션을 사용하여to_pandas를 호출한 후 해당 객체를 사용하면 프로그램이 충돌합니다. - types_mapper (
function, 기본값None) — pyarrow DataType를 pandasExtensionDtype으로 매핑하는 함수입니다. 이 함수는 내장 pyarrow 타입의 변환 또는 Table 스키마에pandas_metadata가 없는 경우 기본 pandas 타입을 재정의하는 데 사용할 수 있습니다. 이 함수는 pyarrow DataType를 인자로 받아 해당 타입에 대해 기본 변환을 사용해야 하면 pandasExtensionDtype또는None을 반환해야 합니다. 사전 매핑이 있는 경우dict.get을 함수로 전달할 수 있습니다.
반환값
pandas.Series 또는 pandas.DataFrame
객체의 유형에 따라 pandas.Series 또는 pandas.DataFrame
상황에 맞게 pandas와 호환되는 NumPy 배열 또는 DataFrame으로 변환합니다.
column name 또는 숫자 인덱스를 사용하여 스키마 필드를 선택합니다.
column name 또는 숫자 인덱스를 사용하여 컬럼을 선택합니다.
숫자 순서대로 모든 열을 반복합니다.
테이블 및 해당 열의 스키마.
숫자 순서대로 나열된 모든 열 목록.
이 테이블의 열 수.
의 차원: (#rows, #columns).
테이블의 요소들이 소비하는 바이트의 총 수.
테이블의 열 이름.
슬라이스
< source >( offset = 0length = None )
이 Table의 zero-copy 슬라이스를 계산합니다.
Table에서 레코드를 선택합니다. 전체 사용법은 pyarrow.compute.filter를 참조하세요.
flatten
< source >( *args**kwargs )
이 테이블을 Flatten합니다. struct 타입인 각 컬럼은 struct 필드별로 하나의 컬럼씩 Flatten됩니다. 다른 컬럼은 변경되지 않습니다.
combine_chunks
< source >( *args**kwargs )
이 테이블의 청크를 결합하여 새 테이블을 만듭니다.
각 열의 ChunkedArray에 있는 모든 기본 청크는 0개 또는 1개의 청크로 연결됩니다.
캐스트
< source >( *args**kwargs )
테이블 값을 다른 스키마로 캐스팅
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
실험적: 스키마의 key-value 메타데이터를 지정된 새 메타데이터(기존 메타데이터를 삭제할 수 있는 None 포함)로 교체하여 테이블의 얕은 복사본을 생성합니다.
add_column
< source >( *args**kwargs ) → datasets.table.Table
Table에 position 위치에 열을 추가합니다.
추가된 열을 가진 새로운 테이블이 반환되며, 원래 테이블 객체는 변경되지 않습니다.
append_column
< source >( *args**kwargs ) → datasets.table.Table
열 목록의 끝에 열을 추가합니다.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
지정된 열을 제거하여 새 Table을 생성합니다.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Table의 position 위치에 있는 열을 교체합니다.
제공된 이름으로 열 이름이 변경된 새 테이블을 생성합니다.
의 열을 선택합니다.
지정된 열과 메타데이터를 유지한 채로 새로운 테이블을 반환합니다.
drop
< source >( *args**kwargs ) → datasets.table.Table
하나 이상의 열을 제거하고 새로운 테이블을 반환합니다.
ConcatenationTable
는 블록이라고 불리는 여러 테이블의 연결(concatenation)로 구성됩니다. 이것은 axis 0(행 추가)과 axis 1(열 추가) 양쪽 모두에서 연결을 지원합니다.
기본 테이블은 “blocks”라고 불리며 InMemoryTable 또는 MemoryMappedTable 객체일 수 있습니다.
이를 통해 메모리에서 가져온 테이블과 메모리 매핑된 테이블을 결합할 수 있습니다.
ConcatenationTable이 pickled되면 각 블록이 pickled됩니다:
InMemoryTable객체는 메모리에 있는 모든 데이터를 복사하여 pickled됩니다.- MemoryMappedTable 객체는 데이터를 메모리에 복사하지 않고 pickled됩니다. 대신, 디스크에서 테이블을 다시 로드할 때 “replays”할 transforms 목록과 함께 메모리 매핑된 arrow 파일의 경로만 pickled됩니다.
구현에는 각 블록을 별도로 저장해야 합니다.
blocks 속성은 블록의 리스트 리스트를 저장합니다.
첫 번째 축은 테이블을 축 0 방향으로 연결하며(행을 추가),
두 번째 축은 테이블을 축 1 방향으로 연결합니다(열을 추가).
axis 0을 기준으로 연결할 때 일부 열이 누락된 경우, 해당 열은 null 값으로 채워집니다.
이는 pyarrow.concat_tables(tables, promote=True)를 사용하여 수행됩니다.
ConcatenationTable.table 속성에 접근하여 완전히 결합된 테이블에, ConcatenationTable.blocks 속성에 접근하여 블록에 액세스할 수 있습니다.
validate
< source >( *args**kwargs )
검증 검사를 수행합니다. 검증이 실패하면 예외가 발생됩니다.
기본값으로 실행되는 검증은 저비용 검증만 수행됩니다. 철저한 검증(최대 O(n))을 수행하려면 full=True를 전달하세요.
equals
< source >( *args**kwargs ) → bool
매개변수
- other (Table) — 비교할 테이블.
- check_metadata
bool, 기본값False) — 스키마 메타데이터의 동등성도 검사할지 여부입니다.
반환값
bool
두 테이블의 내용이 동일한지 확인합니다.
to_batches
< source >( *args**kwargs )
RecordBatch 객체(연속)의 목록으로 Table을 변환합니다.
Table을 dict 또는 OrderedDict로 변환합니다.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
매개변수
- memory_pool (
MemoryPool, 기본값None) — 할당에 사용할 Arrow MemoryPool입니다. 전달되지 않으면 기본 메모리 풀을 사용합니다. - strings_to_categorical (
bool, 기본값False) — 문자열(UTF8) 및 바이너리 유형을pandas.Categorical로 인코딩합니다. - categories (
list, 기본값empty) —pandas.Categorical로 반환할 필드의 목록입니다. 테이블 형태의 데이터 구조에만 적용됩니다. - zero_copy_only (
bool, 기본값False) — 이 함수 호출이 기본 데이터를 복사해야 하는 경우ArrowException을 발생시킵니다. - integer_object_nulls (
bool, 기본값False) — null이 포함된 정수를 object로 변환합니다. - date_as_object (
bool, 기본값True) — 날짜를 object로 변환합니다.False인 경우datetime64[ns]dtype으로 변환합니다. - timestamp_as_object (
bool, 기본값False) — 나노초가 아닌 타임스탬프(np.datetime64)를 객체로 변환합니다. 이는 나노초 타임스탬프의 일반적인 날짜 범위(1678년~2262년)에 맞지 않는 타임스탬프가 있는 경우 유용합니다.False인 경우, 모든 타임스탬프가datetime64[ns]dtype으로 변환됩니다. - use_threads (
bool, 기본값True) — 여러 스레드를 사용하여 변환을 병렬화할지 여부입니다. - deduplicate_objects (
bool, 기본값False) — 메모리 사용량을 줄이기 위해 생성 시 Python 객체의 여러 사본을 만들지 않습니다. 변환 속도는 느려집니다. - ignore_metadata (
bool, 기본값False) —True인 경우, 존재하는 ‘pandas’ 메타데이터를 사용하여 DataFrame 인덱스를 재구성하지 않습니다. - safe (
bool, 기본값True) — 일부 데이터 타입의 경우 pandas DataFrame 또는 Series에 데이터를 저장하려면 캐스팅이 필요합니다(예: pandas에서는 타임스탬프가 항상 나노초로 저장됨). 이 옵션은 캐스팅이 안전한지 여부를 제어합니다. - split_blocks (
bool, 기본값False) —True인 경우,RecordBatch또는Table에서 pandas.DataFrame을 생성할 때 각 열마다 하나의 내부 “block”을 생성합니다. 이를 통해 메모리를 일시적으로 줄일 수 있지만, 다양한 pandas 연산이 “consolidation”을 트리거하여 메모리 사용량이 급증할 수 있음을 유의하세요. - self_destruct (
bool, 기본값False) — EXPERIMENTAL:True인 경우, Arrow 객체를 pandas로 변환하는 동안 원본 Arrow 메모리를 해제하려고 시도합니다. 이 옵션을 사용하여to_pandas를 호출한 후 해당 객체를 사용하면 프로그램이 충돌합니다. - types_mapper (
function, 기본값None) — pyarrow DataType를 pandasExtensionDtype으로 매핑하는 함수입니다. 이 함수는 내장 pyarrow 타입의 변환 또는 Table 스키마에pandas_metadata가 없는 경우 기본 pandas 타입을 재정의하는 데 사용할 수 있습니다. 이 함수는 pyarrow DataType를 인자로 받아 해당 타입에 대해 기본 변환을 사용해야 하면 pandasExtensionDtype또는None을 반환해야 합니다. 사전 매핑이 있는 경우dict.get을 함수로 전달할 수 있습니다.
반환값
pandas.Series 또는 pandas.DataFrame
객체의 유형에 따라 pandas.Series 또는 pandas.DataFrame
상황에 맞게 pandas와 호환되는 NumPy 배열 또는 DataFrame으로 변환합니다.
column name 또는 숫자 인덱스를 사용하여 스키마 필드를 선택합니다.
column name 또는 숫자 인덱스를 사용하여 컬럼을 선택합니다.
숫자 순서대로 모든 열을 반복합니다.
테이블 및 해당 열의 스키마.
숫자 순서대로 나열된 모든 열 목록.
이 테이블의 열 수.
의 차원: (#rows, #columns).
테이블의 요소들이 소비하는 바이트의 총 수.
테이블의 열 이름.
슬라이스
< source >( offset = 0length = None )
이 Table의 zero-copy 슬라이스를 계산합니다.
Table에서 레코드를 선택합니다. 전체 사용법은 pyarrow.compute.filter를 참조하세요.
flatten
< source >( *args**kwargs )
이 테이블을 Flatten합니다. struct 타입인 각 컬럼은 struct 필드별로 하나의 컬럼씩 Flatten됩니다. 다른 컬럼은 변경되지 않습니다.
combine_chunks
< source >( *args**kwargs )
이 테이블의 청크를 결합하여 새 테이블을 만듭니다.
각 열의 ChunkedArray에 있는 모든 기본 청크는 0개 또는 1개의 청크로 연결됩니다.
캐스트
< source >( target_schema*args**kwargs )
의 값을 다른 스키마로 변환합니다.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
실험적: 스키마의 key-value 메타데이터를 지정된 새 메타데이터(기존 메타데이터를 삭제하는 None일 수 있음)로 교체하여 테이블의 얕은 복사본을 생성합니다.
add_column
< source >( *args**kwargs ) → datasets.table.Table
Table에 position 위치에 열을 추가합니다.
추가된 열을 가진 새로운 테이블이 반환되며, 원래 테이블 객체는 변경되지 않습니다.
append_column
< source >( *args**kwargs ) → datasets.table.Table
열 목록의 끝에 열을 추가합니다.
remove_column
< source >( i*args**kwargs ) → datasets.table.Table
지정된 열을 제거하여 새 Table을 생성합니다.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Table의 position 위치에 있는 열을 교체합니다.
제공된 이름으로 열 이름이 변경된 새 테이블을 생성합니다.
선택
< source >( columns*args**kwargs ) → datasets.table.Table
매개변수
지정된 열을 가진 새로운 테이블이며, 메타데이터는 유지됩니다.
의 열을 선택합니다.
지정된 열과 메타데이터를 유지한 채로 새로운 테이블을 반환합니다.
drop
< source >( columns*args**kwargs ) → datasets.table.Table
하나 이상의 열을 제거하고 새로운 테이블을 반환합니다.
from_tables
< source >( tables: listaxis: int = 0 )
테이블 목록에서 ConcatenationTable을(를) 생성합니다.
유틸
datasets.table.concat_tables
< source >( tables: listaxis: int = 0 ) → datasets.table.Table
테이블을 연결합니다.
datasets.table.list_table_cache_files
< source >( table: Table ) → List[str]
반환값
List[str]
가 로드한 캐시 파일의 경로 목록입니다.
테이블에 의해 로드되는 캐시 파일을 가져옵니다. 캐시 파일은 테이블의 일부가 메모리 매핑을 통해 디스크에서 가져와질 때 사용됩니다.