Datasets documentation
Các lớp bảng
Các lớp bảng
Mỗi đối tượng Dataset được hỗ trợ bởi một Table của PyArrow.
Một Table có thể được nạp từ đĩa (memory mapped) hoặc trong bộ nhớ.
Có sẵn một số kiểu Table, và tất cả đều kế thừa từ table.Table.
Bảng
Bọc một bảng pyarrow bằng cách sử dụng tổ hợp.
Đây là lớp cơ sở cho InMemoryTable, MemoryMappedTable và ConcatenationTable.
Nó triển khai tất cả các thuộc tính/phương thức cơ bản của lớp Table trong pyarrow ngoại trừ các phép biến đổi Table: slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns và drop.
Việc triển khai các phương pháp này khác nhau giữa các lớp con.
validate
< source >( *args**kwargs )
Thực hiện các kiểm tra xác thực. Một ngoại lệ sẽ được ném ra nếu xác thực thất bại.
Mặc định chỉ chạy các kiểm tra xác thực chi phí thấp. Truyền full=True để chạy các kiểm tra xác thực kỹ lưỡng (có thể O(n)).
equals
< source >( *args**kwargs ) → bool
Tham số
- other (Bảng) — Bảng để so sánh.
- check_metadata
bool, mặc định làFalse) — Liệu có nên kiểm tra cả sự bằng nhau của metadata schema hay không.
Trả về
bool
Kiểm tra xem nội dung của hai bảng có bằng nhau không.
to_batches
< source >( *args**kwargs )
Chuyển đổi Table thành danh sách các đối tượng RecordBatch (liên tục).
Chuyển đổi Table thành dict hoặc OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Tham số
- memory_pool (
MemoryPool, mặc định làNone) — Arrow MemoryPool được sử dụng cho các phân bổ bộ nhớ. Sử dụng memory pool mặc định nếu không được truyền vào. - strings_to_categorical (
bool, mặc định làFalse) — Mã hóa các kiểu chuỗi (UTF8) và nhị phân thànhpandas.Categorical. - categories (
list, mặc định làempty) — Danh sách các trường cần được trả về dưới dạngpandas.Categorical. Chỉ áp dụng cho các cấu trúc dữ liệu dạng bảng. - zero_copy_only (
bool, mặc định làFalse) — Ném mộtArrowExceptionnếu việc gọi hàm này sẽ yêu cầu sao chép dữ liệu cơ bản. - integer_object_nulls (
bool, mặc định làFalse) — Chuyển đổi các số nguyên có giá trị null sang kiểu object. - date_as_object (
bool, mặc định làTrue) — Đổ ngày thành các đối tượng. NếuFalse, chuyển sang kiểu dữ liệudatetime64[ns]. - timestamp_as_object (
bool, mặc định làFalse) — Chuyển đổi các timestamp không phải nanosecond (np.datetime64) thành object. Điều này hữu ích nếu bạn có các timestamp không nằm trong khoảng ngày tháng thông thường của timestamp nanosecond (1678 CN-2262 CN). NếuFalse, tất cả các timestamp sẽ được chuyển đổi sang dtypedatetime64[ns]. - use_threads (
bool, mặc định làTrue) — Có nên song song hóa quá trình chuyển đổi bằng nhiều luồng hay không. - deduplicate_objects (
bool, mặc định làFalse) — Không tạo nhiều bản sao của các đối tượng Python khi được tạo, để tiết kiệm bộ nhớ. Quá trình chuyển đổi sẽ chậm hơn. - ignore_metadata (
bool, mặc định làFalse) — NếuTrue, không sử dụng metadata của ‘pandas’ để tái tạo chỉ mục của DataFrame, nếu có. - safe (
bool, mặc định làTrue) — Đối với một số kiểu dữ liệu, cần phải chuyển đổi kiểu (cast) để lưu trữ dữ liệu trong một DataFrame hoặc Series của pandas (ví dụ: timestamp luôn được lưu trữ dưới dạng nanosecond trong pandas). Tùy chọn này kiểm soát việc chuyển đổi kiểu đó có an toàn hay không. - split_blocks (
bool, mặc định làFalse) — NếuTrue, sẽ tạo một “block” nội bộ cho mỗi cột khi tạo một pandas.DataFrame từ mộtRecordBatchhoặcTable. Mặc dù điều này có thể tạm thời giảm bộ nhớ, hãy lưu ý rằng các thao tác pandas khác nhau có thể kích hoạt “consolidation” (gộp khối), điều này có thể làm phình to việc sử dụng bộ nhớ. - self_destruct (
bool, mặc định làFalse) — THỰC NGHIỆM: NếuTrue, sẽ cố gắng giải phóng bộ nhớ Arrow gốc trong khi chuyển đổi đối tượng Arrow sang pandas. Nếu bạn sử dụng đối tượng sau khi gọito_pandasvới tùy chọn này, chương trình của bạn sẽ bị lỗi. - types_mapper (
function, mặc định làNone) — Một hàm ánh xạ một pyarrow DataType sang một pandasExtensionDtype. Điều này có thể được sử dụng để ghi đè kiểu pandas mặc định cho việc chuyển đổi các kiểu pyarrow tích hợp hoặc khi không cópandas_metadatatrong schema của Table. Hàm này nhận một pyarrow DataType và được kỳ vọng trả về một pandasExtensionDtypehoặcNonenếu nên sử dụng chuyển đổi mặc định cho kiểu đó. Nếu bạn có một từ điển ánh xạ, bạn có thể truyềndict.getlàm hàm.
Trả về
pandas.Series hoặc pandas.DataFrame
pandas.Series hoặc pandas.DataFrame tùy thuộc vào kiểu của đối tượng
Chuyển đổi thành mảng NumPy hoặc DataFrame tương thích với pandas, tùy theo trường hợp.
trường
< source >( *args**kwargs )
Chọn một trường schema theo tên cột hoặc chỉ số số.
cột
< source >( *args**kwargs )
Chọn một cột theo tên cột hoặc chỉ số số của nó.
Trình lặp qua tất cả các cột theo thứ tự số.
Sơ đồ của bảng và các cột của nó.
Danh sách tất cả các cột theo thứ tự số.
Số cột trong bảng này.
Số dòng trong bảng này.
Do định nghĩa của bảng, tất cả các cột đều có cùng số dòng.
Kích thước của bảng: (#rows, #columns).
Tổng số byte được tiêu thụ bởi các phần tử của bảng.
InMemoryTable
Bảng được coi là trong bộ nhớ (in-memory) khi nó được nạp vào RAM của người dùng.
Pickling sẽ sao chép toàn bộ dữ liệu bằng bộ nhớ. Cách triển khai của nó đơn giản và sử dụng trực tiếp các phương thức của bảng pyarrow bên dưới.
Điều này khác với bảng MemoryMapped, trong đó quá trình pickling không sao chép toàn bộ dữ liệu trong bộ nhớ. Đối với MemoryMapped, quá trình unpickling sẽ tải lại bảng từ ổ đĩa.
InMemoryTable phải được sử dụng khi dữ liệu vừa trong bộ nhớ, trong khi MemoryMapped được dành cho dữ liệu lớn hơn bộ nhớ hoặc khi bạn muốn dấu chân bộ nhớ của ứng dụng của mình ở mức thấp.
validate
< source >( *args**kwargs )
Thực hiện các kiểm tra xác thực. Một ngoại lệ sẽ được ném ra nếu xác thực thất bại.
Mặc định chỉ chạy các kiểm tra xác thực chi phí thấp. Truyền full=True để chạy các kiểm tra xác thực kỹ lưỡng (có thể O(n)).
equals
< source >( *args**kwargs ) → bool
Tham số
- other (Bảng) — Bảng để so sánh.
- check_metadata
bool, mặc định làFalse) — Liệu có nên kiểm tra cả sự bằng nhau của metadata schema hay không.
Trả về
bool
Kiểm tra xem nội dung của hai bảng có bằng nhau không.
to_batches
< source >( *args**kwargs )
Chuyển đổi Table thành danh sách các đối tượng RecordBatch (liên tục).
Chuyển đổi Table thành dict hoặc OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Tham số
- memory_pool (
MemoryPool, mặc định làNone) — Arrow MemoryPool được sử dụng cho các phân bổ bộ nhớ. Sử dụng memory pool mặc định nếu không được truyền vào. - strings_to_categorical (
bool, mặc định làFalse) — Mã hóa các kiểu chuỗi (UTF8) và nhị phân thànhpandas.Categorical. - categories (
list, mặc định làempty) — Danh sách các trường cần được trả về dưới dạngpandas.Categorical. Chỉ áp dụng cho các cấu trúc dữ liệu dạng bảng. - zero_copy_only (
bool, mặc định làFalse) — Ném mộtArrowExceptionnếu việc gọi hàm này sẽ yêu cầu sao chép dữ liệu cơ bản. - integer_object_nulls (
bool, mặc định làFalse) — Chuyển đổi các số nguyên có giá trị null sang kiểu object. - date_as_object (
bool, mặc định làTrue) — Đổ ngày thành các đối tượng. NếuFalse, chuyển sang kiểu dữ liệudatetime64[ns]. - timestamp_as_object (
bool, mặc định làFalse) — Chuyển đổi các timestamp không phải nanosecond (np.datetime64) thành object. Điều này hữu ích nếu bạn có các timestamp không nằm trong khoảng ngày tháng thông thường của timestamp nanosecond (1678 CN-2262 CN). NếuFalse, tất cả các timestamp sẽ được chuyển đổi sang dtypedatetime64[ns]. - use_threads (
bool, mặc định làTrue) — Có nên song song hóa quá trình chuyển đổi bằng nhiều luồng hay không. - deduplicate_objects (
bool, mặc định làFalse) — Không tạo nhiều bản sao của các đối tượng Python khi được tạo, để tiết kiệm bộ nhớ. Quá trình chuyển đổi sẽ chậm hơn. - ignore_metadata (
bool, mặc định làFalse) — NếuTrue, không sử dụng metadata của ‘pandas’ để tái tạo chỉ mục của DataFrame, nếu có. - safe (
bool, mặc định làTrue) — Đối với một số kiểu dữ liệu, cần phải chuyển đổi kiểu (cast) để lưu trữ dữ liệu trong một DataFrame hoặc Series của pandas (ví dụ: timestamp luôn được lưu trữ dưới dạng nanosecond trong pandas). Tùy chọn này kiểm soát việc chuyển đổi kiểu đó có an toàn hay không. - split_blocks (
bool, mặc định làFalse) — NếuTrue, sẽ tạo một “block” nội bộ cho mỗi cột khi tạo một pandas.DataFrame từ mộtRecordBatchhoặcTable. Mặc dù điều này có thể tạm thời giảm bộ nhớ, hãy lưu ý rằng các thao tác pandas khác nhau có thể kích hoạt “consolidation” (gộp khối), điều này có thể làm phình to việc sử dụng bộ nhớ. - self_destruct (
bool, mặc định làFalse) — THỰC NGHIỆM: NếuTrue, sẽ cố gắng giải phóng bộ nhớ Arrow gốc trong khi chuyển đổi đối tượng Arrow sang pandas. Nếu bạn sử dụng đối tượng sau khi gọito_pandasvới tùy chọn này, chương trình của bạn sẽ bị lỗi. - types_mapper (
function, mặc định làNone) — Một hàm ánh xạ một pyarrow DataType sang một pandasExtensionDtype. Điều này có thể được sử dụng để ghi đè kiểu pandas mặc định cho việc chuyển đổi các kiểu pyarrow tích hợp hoặc khi không cópandas_metadatatrong schema của Table. Hàm này nhận một pyarrow DataType và được kỳ vọng trả về một pandasExtensionDtypehoặcNonenếu nên sử dụng chuyển đổi mặc định cho kiểu đó. Nếu bạn có một từ điển ánh xạ, bạn có thể truyềndict.getlàm hàm.
Trả về
pandas.Series hoặc pandas.DataFrame
pandas.Series hoặc pandas.DataFrame tùy thuộc vào kiểu của đối tượng
Chuyển đổi thành mảng NumPy hoặc DataFrame tương thích với pandas, tùy theo trường hợp.
trường
< source >( *args**kwargs )
Chọn một trường schema theo tên cột hoặc chỉ số số.
cột
< source >( *args**kwargs )
Chọn một cột theo tên cột hoặc chỉ số số của nó.
Trình lặp qua tất cả các cột theo thứ tự số.
Sơ đồ của bảng và các cột của nó.
Danh sách tất cả các cột theo thứ tự số.
Số cột trong bảng này.
Số dòng trong bảng này.
Do định nghĩa của bảng, tất cả các cột đều có cùng số dòng.
Kích thước của bảng: (#rows, #columns).
Tổng số byte được tiêu thụ bởi các phần tử của bảng.
Tên của các cột trong bảng.
slice
< source >( offset = 0length = None )
Tính toán lát cắt sao chép không (zero-copy) của Table này.
Chọn các bản ghi từ một Table. Xem pyarrow.compute.filter để biết cách sử dụng đầy đủ.
flatten
< source >( *args**kwargs )
Phẳng hóa bảng này. Mỗi cột có kiểu struct sẽ được phẳng hóa thành một cột cho mỗi trường của struct. Các cột khác được giữ nguyên.
combine_chunks
< source >( *args**kwargs )
Tạo một bảng mới bằng cách kết hợp các phần mà bảng này có.
Tất cả các chunk cơ bản trong ChunkedArray của mỗi cột được nối lại thành không hoặc một chunk.
cast
< source >( *args**kwargs )
Đổ giá trị bảng sang lược đồ khác.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
THỰC NGHIỆM: Tạo bản sao nông của bảng bằng cách thay thế metadata key-value của schema bằng metadata mới được chỉ định (có thể là None, điều này sẽ xóa mọi metadata hiện có).
add_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào Bảng tại vị trí.
Một bảng mới được trả về với cột đã được thêm vào, đối tượng bảng gốc không bị thay đổi.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào cuối danh sách các cột.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Tạo Table mới với cột được chỉ định đã bị xóa.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Thay thế cột trong Bảng tại vị trí.
Tạo bảng mới với các cột được đổi tên thành các tên đã cung cấp.
select
< source >( *args**kwargs ) → datasets.table.Table
Tham số
Trả về
Bảng mới với các cột được chỉ định, và metadata được giữ nguyên.
Chọn các cột của bảng.
Trả về một bảng mới với các cột được chỉ định, và giữ nguyên các metadata.
drop
< source >( *args**kwargs ) → datasets.table.Table
Xóa một hoặc nhiều cột và trả về một bảng mới.
from_pandas
< source >( *args**kwargs ) → datasets.table.Table
Tham số
- df (
pandas.DataFrame) — - schema (
pyarrow.Schema, tùy chọn) — Schema dự kiến của Arrow Table. Có thể dùng để chỉ định kiểu của các cột nếu không thể suy luận tự động. Nếu được truyền vào, kết quả đầu ra sẽ có đúng schema này. Các cột được chỉ định trong schema nhưng không tìm thấy trong các cột của DataFrame hoặc index của nó sẽ gây ra lỗi. Các cột hoặc mức index bổ sung trong DataFrame không được chỉ định trong schema sẽ bị bỏ qua. - preserve_index (
bool, tùy chọn) — Có lưu trữ index dưới dạng một cột bổ sung trongTablekết quả hay không. Giá trị mặc định là None sẽ lưu index dưới dạng một cột, ngoại trừ RangeIndex chỉ được lưu dưới dạng metadata. Sử dụngpreserve_index=Trueđể buộc lưu index dưới dạng một cột. - nthreads (
int, mặc định làNone(có thể sử dụng tối đa số luồng CPU của hệ thống)) — Nếu lớn hơn 1, chuyển đổi các cột sang Arrow song song bằng số luồng được chỉ định. - columns (
List[str], tùy chọn) — Danh sách các cột cần chuyển đổi. Nếu làNone, sẽ sử dụng tất cả các cột. - safe (
bool, mặc định làTrue) — Kiểm tra các trường hợp tràn số hoặc các phép chuyển đổi không an toàn khác,
Trả về
datasets.table.Table
Chuyển đổi pandas.DataFrame thành một bảng Arrow.
Các kiểu cột trong Arrow Table kết quả được suy ra từ dtypes của pandas.Series trong DataFrame. Đối với các Series không phải object, NumPy dtype được chuyển đổi sang tương đương Arrow của nó. Trong trường hợp object, chúng ta cần đoán kiểu dữ liệu bằng cách xem xét các đối tượng Python trong Series này.
Lưu ý rằng các Series có dtype object không chứa đủ thông tin để luôn dẫn đến một kiểu Arrow có ý nghĩa. Trong trường hợp không thể suy luận được kiểu, ví dụ vì DataFrame có độ dài 0 hoặc Series chỉ chứa các đối tượng None/nan, kiểu sẽ được đặt là null. Có thể tránh hành vi này bằng cách xây dựng một schema rõ ràng và truyền nó vào hàm này.
from_arrays
< source >( *args**kwargs )
Tham số
- arrays (
List[Union[pyarrow.Array, pyarrow.ChunkedArray]]) — Các mảng có cùng độ dài, cần được dùng để tạo thành bảng. - names (
List[str], tùy chọn) — Tên cho các cột của bảng. Nếu không được truyền, schema phải được truyền. - schema (
Schema, mặc định làNone) — Schema cho bảng được tạo. Nếu không được truyền, các tên phải được truyền. - metadata (
Union[dict, Mapping], mặc định làNone) — Metadata tùy chọn cho schema (nếu được suy ra).
Xây dựng một Table từ các mảng Arrow.
Xây dựng một Table từ các mảng hoặc cột Arrow.
from_batches
< source >( *args**kwargs ) → datasets.table.Table
Tạo một Table từ một chuỗi hoặc trình lặp các RecordBatches của Arrow.
MemoryMappedTable
class datasets.table.MemoryMappedTable
< source >( table: Tablepath: strreplays: typing.Optional[list[tuple[str, tuple, dict]]] = None )
Bảng được gọi là memory mapped khi nó không sử dụng RAM của người dùng mà thay vào đó tải dữ liệu từ ổ đĩa.
Pickling không sao chép dữ liệu vào bộ nhớ. Thay vào đó, chỉ đường dẫn đến tệp arrow được ánh xạ bộ nhớ được pickling, cùng với danh sách các transform để “phát lại” khi tải lại bảng từ đĩa.
Việc triển khai của nó yêu cầu phải lưu trữ lịch sử của tất cả các phép biến đổi đã được áp dụng lên bảng pyarrow bên dưới, để chúng có thể được “phát lại” khi tải lại bảng từ đĩa.
Điều này khác với bảng InMemoryTable, trong đó quá trình pickling sẽ sao chép toàn bộ dữ liệu trong bộ nhớ.
InMemoryTable phải được sử dụng khi dữ liệu vừa trong bộ nhớ, trong khi MemoryMapped được dành cho dữ liệu lớn hơn bộ nhớ hoặc khi bạn muốn dấu chân bộ nhớ của ứng dụng của mình ở mức thấp.
validate
< source >( *args**kwargs )
Thực hiện các kiểm tra xác thực. Một ngoại lệ sẽ được ném ra nếu xác thực thất bại.
Mặc định chỉ chạy các kiểm tra xác thực chi phí thấp. Truyền full=True để chạy các kiểm tra xác thực kỹ lưỡng (có thể O(n)).
equals
< source >( *args**kwargs ) → bool
Tham số
- other (Bảng) — Bảng để so sánh.
- check_metadata
bool, mặc định làFalse) — Liệu có nên kiểm tra cả sự bằng nhau của metadata schema hay không.
Trả về
bool
Kiểm tra xem nội dung của hai bảng có bằng nhau không.
to_batches
< source >( *args**kwargs )
Chuyển đổi Table thành danh sách các đối tượng RecordBatch (liên tục).
Chuyển đổi Table thành dict hoặc OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Tham số
- memory_pool (
MemoryPool, mặc định làNone) — Arrow MemoryPool được sử dụng cho các phân bổ bộ nhớ. Sử dụng memory pool mặc định nếu không được truyền vào. - strings_to_categorical (
bool, mặc định làFalse) — Mã hóa các kiểu chuỗi (UTF8) và nhị phân thànhpandas.Categorical. - categories (
list, mặc định làempty) — Danh sách các trường cần được trả về dưới dạngpandas.Categorical. Chỉ áp dụng cho các cấu trúc dữ liệu dạng bảng. - zero_copy_only (
bool, mặc định làFalse) — Ném mộtArrowExceptionnếu việc gọi hàm này sẽ yêu cầu sao chép dữ liệu cơ bản. - integer_object_nulls (
bool, mặc định làFalse) — Chuyển đổi các số nguyên có giá trị null sang kiểu object. - date_as_object (
bool, mặc định làTrue) — Đổ ngày thành các đối tượng. NếuFalse, chuyển sang kiểu dữ liệudatetime64[ns]. - timestamp_as_object (
bool, mặc định làFalse) — Chuyển đổi các timestamp không phải nanosecond (np.datetime64) thành object. Điều này hữu ích nếu bạn có các timestamp không nằm trong khoảng ngày tháng thông thường của timestamp nanosecond (1678 CN-2262 CN). NếuFalse, tất cả các timestamp sẽ được chuyển đổi sang dtypedatetime64[ns]. - use_threads (
bool, mặc định làTrue) — Có nên song song hóa quá trình chuyển đổi bằng nhiều luồng hay không. - deduplicate_objects (
bool, mặc định làFalse) — Không tạo nhiều bản sao của các đối tượng Python khi được tạo, để tiết kiệm bộ nhớ. Quá trình chuyển đổi sẽ chậm hơn. - ignore_metadata (
bool, mặc định làFalse) — NếuTrue, không sử dụng metadata của ‘pandas’ để tái tạo chỉ mục của DataFrame, nếu có. - safe (
bool, mặc định làTrue) — Đối với một số kiểu dữ liệu, cần phải chuyển đổi kiểu (cast) để lưu trữ dữ liệu trong một DataFrame hoặc Series của pandas (ví dụ: timestamp luôn được lưu trữ dưới dạng nanosecond trong pandas). Tùy chọn này kiểm soát việc chuyển đổi kiểu đó có an toàn hay không. - split_blocks (
bool, mặc định làFalse) — NếuTrue, sẽ tạo một “block” nội bộ cho mỗi cột khi tạo một pandas.DataFrame từ mộtRecordBatchhoặcTable. Mặc dù điều này có thể tạm thời giảm bộ nhớ, hãy lưu ý rằng các thao tác pandas khác nhau có thể kích hoạt “consolidation” (gộp khối), điều này có thể làm phình to việc sử dụng bộ nhớ. - self_destruct (
bool, mặc định làFalse) — THỰC NGHIỆM: NếuTrue, sẽ cố gắng giải phóng bộ nhớ Arrow gốc trong khi chuyển đổi đối tượng Arrow sang pandas. Nếu bạn sử dụng đối tượng sau khi gọito_pandasvới tùy chọn này, chương trình của bạn sẽ bị lỗi. - types_mapper (
function, mặc định làNone) — Một hàm ánh xạ một pyarrow DataType sang một pandasExtensionDtype. Điều này có thể được sử dụng để ghi đè kiểu pandas mặc định cho việc chuyển đổi các kiểu pyarrow tích hợp hoặc khi không cópandas_metadatatrong schema của Table. Hàm này nhận một pyarrow DataType và được kỳ vọng trả về một pandasExtensionDtypehoặcNonenếu nên sử dụng chuyển đổi mặc định cho kiểu đó. Nếu bạn có một từ điển ánh xạ, bạn có thể truyềndict.getlàm hàm.
Trả về
pandas.Series hoặc pandas.DataFrame
pandas.Series hoặc pandas.DataFrame tùy thuộc vào kiểu của đối tượng
Chuyển đổi thành mảng NumPy hoặc DataFrame tương thích với pandas, tùy theo trường hợp.
trường
< source >( *args**kwargs )
Chọn một trường schema theo tên cột hoặc chỉ số số.
cột
< source >( *args**kwargs )
Chọn một cột theo tên cột hoặc chỉ số số của nó.
Trình lặp qua tất cả các cột theo thứ tự số.
Sơ đồ của bảng và các cột của nó.
Danh sách tất cả các cột theo thứ tự số.
Số cột trong bảng này.
Số dòng trong bảng này.
Do định nghĩa của bảng, tất cả các cột đều có cùng số dòng.
Kích thước của bảng: (#rows, #columns).
Tổng số byte được tiêu thụ bởi các phần tử của bảng.
Tên của các cột trong bảng.
slice
< source >( offset = 0length = None )
Tính toán lát cắt sao chép không (zero-copy) của Table này.
Chọn các bản ghi từ một Table. Xem pyarrow.compute.filter để biết cách sử dụng đầy đủ.
flatten
< source >( *args**kwargs )
Phẳng hóa bảng này. Mỗi cột có kiểu struct sẽ được phẳng hóa thành một cột cho mỗi trường của struct. Các cột khác được giữ nguyên.
combine_chunks
< source >( *args**kwargs )
Tạo một bảng mới bằng cách kết hợp các phần mà bảng này có.
Tất cả các chunk cơ bản trong ChunkedArray của mỗi cột được nối lại thành không hoặc một chunk.
cast
< source >( *args**kwargs )
Đổ giá trị bảng sang lược đồ khác
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
THỰC NGHIỆM: Tạo bản sao nông của bảng bằng cách thay thế metadata key-value của schema bằng metadata mới được chỉ định (có thể là None, điều này sẽ xóa mọi metadata hiện có.
add_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào Bảng tại vị trí.
Một bảng mới được trả về với cột đã được thêm vào, đối tượng bảng gốc không bị thay đổi.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào cuối danh sách các cột.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Tạo Table mới với cột được chỉ định đã bị xóa.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Thay thế cột trong Bảng tại vị trí.
Tạo bảng mới với các cột được đổi tên thành các tên đã cung cấp.
select
< source >( *args**kwargs ) → datasets.table.Table
Tham số
Trả về
Bảng mới với các cột được chỉ định, và metadata được giữ nguyên.
Chọn các cột của bảng.
Trả về một bảng mới với các cột được chỉ định, và giữ nguyên các metadata.
drop
< source >( *args**kwargs ) → datasets.table.Table
Xóa một hoặc nhiều cột và trả về một bảng mới.
ConcatenationTable
Bảng được tạo ra từ việc nối (concatenation) nhiều bảng được gọi là khối (block). Nó cho phép nối theo cả trục 0 (thêm hàng) và trục 1 (thêm cột).
Các bảng cơ bản được gọi là “blocks” và có thể là các đối tượng InMemoryTable hoặc MemoryMappedTable.
Điều này cho phép kết hợp các bảng đến từ bộ nhớ hoặc được ánh xạ bộ nhớ.
Khi một ConcatenationTable được pickled, thì mỗi block sẽ được pickled:
- các đối tượng
InMemoryTableđược pickle bằng cách sao chép toàn bộ dữ liệu trong bộ nhớ. - Các đối tượng MemoryMappedTable được pickle mà không sao chép dữ liệu vào bộ nhớ. Thay vào đó, chỉ đường dẫn đến tệp arrow được ánh xạ bộ nhớ và danh sách các transform để “replay” khi tải lại bảng từ ổ đĩa được pickle.
Việc triển khai yêu cầu lưu trữ từng khối riêng biệt.
Thuộc tính blocks lưu trữ một danh sách các danh sách khối.
Trục đầu tiên nối các bảng dọc theo trục 0 (thêm các hàng),
còn trục thứ hai nối các bảng dọc theo trục 1 (thêm các cột).
Nếu một số cột bị thiếu khi ghép nối theo trục 0, chúng sẽ được điền bằng các giá trị null.
Điều này được thực hiện bằng cách sử dụng pyarrow.concat_tables(tables, promote=True).
Bạn có thể truy cập bảng kết hợp hoàn chỉnh bằng cách truy cập thuộc tính ConcatenationTable.table,
và các khối bằng cách truy cập thuộc tính ConcatenationTable.blocks.
validate
< source >( *args**kwargs )
Thực hiện các kiểm tra xác thực. Một ngoại lệ sẽ được ném ra nếu xác thực thất bại.
Mặc định chỉ chạy các kiểm tra xác thực chi phí thấp. Truyền full=True để chạy các kiểm tra xác thực kỹ lưỡng (có thể O(n)).
equals
< source >( *args**kwargs ) → bool
Tham số
- other (Bảng) — Bảng để so sánh.
- check_metadata
bool, mặc định làFalse) — Liệu có nên kiểm tra cả sự bằng nhau của metadata schema hay không.
Trả về
bool
Kiểm tra xem nội dung của hai bảng có bằng nhau không.
to_batches
< source >( *args**kwargs )
Chuyển đổi Table thành danh sách các đối tượng RecordBatch (liên tục).
Chuyển đổi Table thành dict hoặc OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Tham số
- memory_pool (
MemoryPool, mặc định làNone) — Arrow MemoryPool được sử dụng cho các phân bổ bộ nhớ. Sử dụng memory pool mặc định nếu không được truyền vào. - strings_to_categorical (
bool, mặc định làFalse) — Mã hóa các kiểu chuỗi (UTF8) và nhị phân thànhpandas.Categorical. - categories (
list, mặc định làempty) — Danh sách các trường cần được trả về dưới dạngpandas.Categorical. Chỉ áp dụng cho các cấu trúc dữ liệu dạng bảng. - zero_copy_only (
bool, mặc định làFalse) — Ném mộtArrowExceptionnếu việc gọi hàm này sẽ yêu cầu sao chép dữ liệu cơ bản. - integer_object_nulls (
bool, mặc định làFalse) — Chuyển đổi các số nguyên có giá trị null sang kiểu object. - date_as_object (
bool, mặc định làTrue) — Đổ ngày thành các đối tượng. NếuFalse, chuyển sang kiểu dữ liệudatetime64[ns]. - timestamp_as_object (
bool, mặc định làFalse) — Chuyển đổi các timestamp không phải nanosecond (np.datetime64) thành object. Điều này hữu ích nếu bạn có các timestamp không nằm trong khoảng ngày tháng thông thường của timestamp nanosecond (1678 CN-2262 CN). NếuFalse, tất cả các timestamp sẽ được chuyển đổi sang dtypedatetime64[ns]. - use_threads (
bool, mặc định làTrue) — Có nên song song hóa quá trình chuyển đổi bằng nhiều luồng hay không. - deduplicate_objects (
bool, mặc định làFalse) — Không tạo nhiều bản sao của các đối tượng Python khi được tạo, để tiết kiệm bộ nhớ. Quá trình chuyển đổi sẽ chậm hơn. - ignore_metadata (
bool, mặc định làFalse) — NếuTrue, không sử dụng metadata của ‘pandas’ để tái tạo chỉ mục của DataFrame, nếu có. - safe (
bool, mặc định làTrue) — Đối với một số kiểu dữ liệu, cần phải chuyển đổi kiểu (cast) để lưu trữ dữ liệu trong một DataFrame hoặc Series của pandas (ví dụ: timestamp luôn được lưu trữ dưới dạng nanosecond trong pandas). Tùy chọn này kiểm soát việc chuyển đổi kiểu đó có an toàn hay không. - split_blocks (
bool, mặc định làFalse) — NếuTrue, sẽ tạo một “block” nội bộ cho mỗi cột khi tạo một pandas.DataFrame từ mộtRecordBatchhoặcTable. Mặc dù điều này có thể tạm thời giảm bộ nhớ, hãy lưu ý rằng các thao tác pandas khác nhau có thể kích hoạt “consolidation” (gộp khối), điều này có thể làm phình to việc sử dụng bộ nhớ. - self_destruct (
bool, mặc định làFalse) — THỰC NGHIỆM: NếuTrue, sẽ cố gắng giải phóng bộ nhớ Arrow gốc trong khi chuyển đổi đối tượng Arrow sang pandas. Nếu bạn sử dụng đối tượng sau khi gọito_pandasvới tùy chọn này, chương trình của bạn sẽ bị lỗi. - types_mapper (
function, mặc định làNone) — Một hàm ánh xạ một pyarrow DataType sang một pandasExtensionDtype. Điều này có thể được sử dụng để ghi đè kiểu pandas mặc định cho việc chuyển đổi các kiểu pyarrow tích hợp hoặc khi không cópandas_metadatatrong schema của Table. Hàm này nhận một pyarrow DataType và được kỳ vọng trả về một pandasExtensionDtypehoặcNonenếu nên sử dụng chuyển đổi mặc định cho kiểu đó. Nếu bạn có một từ điển ánh xạ, bạn có thể truyềndict.getlàm hàm.
Trả về
pandas.Series hoặc pandas.DataFrame
pandas.Series hoặc pandas.DataFrame tùy thuộc vào kiểu của đối tượng
Chuyển đổi thành mảng NumPy hoặc DataFrame tương thích với pandas, tùy theo trường hợp.
trường
< source >( *args**kwargs )
Chọn một trường schema theo tên cột hoặc chỉ số số.
cột
< source >( *args**kwargs )
Chọn một cột theo tên cột hoặc chỉ số số của nó.
Trình lặp qua tất cả các cột theo thứ tự số.
Sơ đồ của bảng và các cột của nó.
Danh sách tất cả các cột theo thứ tự số.
Số cột trong bảng này.
Số dòng trong bảng này.
Do định nghĩa của bảng, tất cả các cột đều có cùng số dòng.
Kích thước của bảng: (#rows, #columns).
Tổng số byte được tiêu thụ bởi các phần tử của bảng.
Tên của các cột trong bảng.
slice
< source >( offset = 0length = None )
Tính toán lát cắt sao chép không (zero-copy) của Table này.
Chọn các bản ghi từ một Table. Xem pyarrow.compute.filter để biết cách sử dụng đầy đủ.
flatten
< source >( *args**kwargs )
Phẳng hóa bảng này. Mỗi cột có kiểu struct sẽ được phẳng hóa thành một cột cho mỗi trường của struct. Các cột khác được giữ nguyên.
combine_chunks
< source >( *args**kwargs )
Tạo một bảng mới bằng cách kết hợp các phần mà bảng này có.
Tất cả các chunk cơ bản trong ChunkedArray của mỗi cột được nối lại thành không hoặc một chunk.
cast
< source >( target_schema*args**kwargs )
Đổ giá trị bảng sang lược đồ khác.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
THỰC NGHIỆM: Tạo bản sao nông của bảng bằng cách thay thế metadata key-value của schema bằng metadata mới được chỉ định (có thể là None, điều này sẽ xóa mọi metadata hiện có).
add_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào Bảng tại vị trí.
Một bảng mới được trả về với cột đã được thêm vào, đối tượng bảng gốc không bị thay đổi.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Thêm cột vào cuối danh sách các cột.
remove_column
< source >( i*args**kwargs ) → datasets.table.Table
Tạo Table mới với cột được chỉ định đã bị xóa.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Thay thế cột trong Bảng tại vị trí.
Tạo bảng mới với các cột được đổi tên thành các tên đã cung cấp.
select
< source >( columns*args**kwargs ) → datasets.table.Table
Tham số
Trả về
Bảng mới với các cột được chỉ định, và metadata được giữ nguyên.
Chọn các cột của bảng.
Trả về một bảng mới với các cột được chỉ định, và giữ nguyên các metadata.
drop
< source >( columns*args**kwargs ) → datasets.table.Table
Xóa một hoặc nhiều cột và trả về một bảng mới.
from_tables
< source >( tables: listaxis: int = 0 )
Tạo ConcatenationTable từ danh sách các bảng.
Công cụ
datasets.table.concat_tables
< source >( tables: listaxis: int = 0 ) → datasets.table.Table
Tham số
- tables (list of
Table) — Danh sách các bảng cần được nối lại với nhau. - axis (
{0, 1}, mặc định là0, có nghĩa là theo hàng) — Trục để ghép nối, trong đó0có nghĩa là theo hàng (theo chiều dọc) và1có nghĩa là theo cột (theo chiều ngang).Được thêm vào 1.6.0
Trả về
datasets.table.Table
Nếu số lượng bảng đầu vào > 1, thì bảng được trả về là datasets.table.ConcatenationTable.
Ngược lại, nếu chỉ có một bảng, bảng đó được trả về nguyên vẹn.
Nối các bảng.
datasets.table.list_table_cache_files
< source >( table: Table ) → List[str]
Trả về
List[str]
Danh sách các đường dẫn đến các tệp cache được bảng tải.
Lấy các tệp cache được nạp bởi bảng. Các tệp cache được sử dụng khi một phần của bảng được lấy từ đĩa thông qua ánh xạ bộ nhớ.