資料集文件
表格類別
並獲得增強的文件體驗
開始使用
表格類別 (Table Classes)
每個 Dataset 物件皆由 PyArrow Table 作為後端支援。表格可以從磁碟載入(記憶體映射)或直接載入至記憶體中。目前提供多種表格類型,它們皆繼承自 table.Table。
Table
透過組合 (composition) 包裝 pyarrow Table。這是 InMemoryTable、MemoryMappedTable 和 ConcatenationTable 的基底類別。
它實作了 pyarrow Table 類別的所有基本屬性/方法,除了以下表格轉換操作:slice、filter、flatten、combine_chunks、cast、add_column、append_column、remove_column、set_column、rename_columns 以及 drop。
這些方法的實作方式因各子類別而異。
validate
< 原始碼 >( *args **kwargs )
執行驗證檢查。若驗證失敗,將會引發例外。
預設僅執行快速驗證檢查。若需要徹底驗證,請傳入 full=True(可能為 O(n) 複雜度)。
equals
< 原始碼 >( *args **kwargs ) → bool
檢查兩個表格的內容是否相等。
to_batches
< 原始碼 >( *args **kwargs )
將表格轉換為(連續的)RecordBatch 物件列表。
將表格轉換為 dict 或 OrderedDict。
to_pandas
< 原始碼 >( *args **kwargs ) → pandas.Series 或 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) — 將含有空值 (nulls) 的整數轉換為物件 (objects)。 - date_as_object (
bool, 預設為True) — 將日期轉換為物件。若設為False,則轉換為datetime64[ns]資料類型。 - timestamp_as_object (
bool, 預設為False) — 將非奈秒級的時間戳記 (np.datetime64) 轉換為物件。這對於超出一般奈秒級時間戳記範圍(西元 1678 年至 2262 年)的時間戳記非常有用。若設為False,所有時間戳記將轉換為datetime64[ns]資料類型。 - use_threads (
bool, 預設為True) — 是否使用多執行緒來進行平行轉換。 - deduplicate_objects (
bool, 預設為False) — 在建立時不要建立多個 Python 物件副本,以節省記憶體使用量。轉換速度會變慢。 - ignore_metadata (
bool, 預設為False) — 若設為True,則在重建 DataFrame 索引時不使用「pandas」中繼資料(若有的話)。 - safe (
bool, 預設為True) — 對於某些資料類型,為了將資料儲存在 pandas DataFrame 或 Series 中,需要進行型別轉換(例如 pandas 中的時間戳記始終以奈秒為單位儲存)。此選項控制是否進行安全的轉換。 - split_blocks (
bool, 預設為False) — 若設為True,則從RecordBatch或Table建立 pandas.DataFrame 時,為每個欄位產生一個內部「區塊」。雖然這可以暫時減少記憶體使用,但請注意,各種 pandas 操作可能會觸發「合併」(consolidation),這可能會導致記憶體用量大幅增加。 - self_destruct (
bool, 預設為False) — 實驗性功能:若設為True,在將 Arrow 物件轉換為 pandas 時會嘗試解除配置原始的 Arrow 記憶體。若您在呼叫此選項的to_pandas後仍使用該物件,程式將會崩潰。 - types_mapper (
function, 預設為None) — 一個將 pyarrow 資料類型映射到 pandasExtensionDtype的函式。這可以用於覆蓋內建 pyarrow 類型的預設轉換,或是在 Table schema 中缺少pandas_metadata時使用。該函式接收一個 pyarrow 資料類型,並應回傳一個 pandasExtensionDtype,或者若該類型應使用預設轉換則回傳None。如果您有映射字典,可以傳入dict.get作為函式。
返回
pandas.Series 或 pandas.DataFrame
根據物件類型,為 pandas.Series 或 pandas.DataFrame
視情況轉換為與 pandas 相容的 NumPy 陣列或 DataFrame。
依據欄位名稱或數值索引來選取 schema 欄位。
依據欄位名稱或數值索引來選取欄位。
依數值順序迭代所有欄位。
表格及其欄位的 Schema。
按數值順序排列的所有欄位列表。
此表格中的欄位數量。
表格維度:(#列, #欄)。
表格元素所佔用的總位元組數。
InMemoryTable
當表格載入到使用者的 RAM 中時,稱為記憶體內表格 (in-memory)。
對其進行序列化 (pickling) 會使用記憶體複製所有資料。其實作方式簡單,直接使用底層的 pyarrow Table 方法。
這與 MemoryMapped 表格不同,對於 MemoryMapped,序列化時不會將所有資料複製到記憶體中。對於 MemoryMapped,反序列化時會從磁碟重新載入表格。
當資料適合放入記憶體時,必須使用 InMemoryTable;而當資料大於記憶體容量,或是您希望應用程式的記憶體使用量保持在低水位時,則建議使用 MemoryMapped。
validate
< 原始碼 >( *args **kwargs )
執行驗證檢查。若驗證失敗,將會引發例外。
預設僅執行快速驗證檢查。若需要徹底驗證,請傳入 full=True(可能為 O(n) 複雜度)。
equals
< 原始碼 >( *args **kwargs ) → bool
檢查兩個表格的內容是否相等。
to_batches
< 原始碼 >( *args **kwargs )
將表格轉換為(連續的)RecordBatch 物件列表。
將表格轉換為 dict 或 OrderedDict。
to_pandas
< 原始碼 >( *args **kwargs ) → pandas.Series 或 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) — 將含有空值 (nulls) 的整數轉換為 object 型別。 - date_as_object (
bool,預設為True) — 將日期轉換為 object 型別。若為False,則轉換為datetime64[ns]資料型別 (dtype)。 - timestamp_as_object (
bool,預設為False) — 將非奈秒級的時間戳記 (np.datetime64) 轉換為 object 型別。若您的時間戳記超出標準奈秒時間範圍(西元 1678 年至 2262 年),此選項非常有用。若為False,所有時間戳記都會轉換為datetime64[ns]資料型別。 - 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) — 實驗性功能:若為True,則在將 Arrow 物件轉換為 pandas 時,嘗試釋放原始的 Arrow 記憶體。若您在以此選項呼叫to_pandas之後使用該物件,將會導致程式崩潰。 - types_mapper (
function,預設為None) — 一個將 pyarrow 資料型別對應到 pandasExtensionDtype的函式。此函式可用於覆寫預設的 pandas 型別轉換,或在 Table schema 中缺少pandas_metadata時使用。該函式接收一個 pyarrow 資料型別,並預期回傳一個 pandasExtensionDtype;若應對該型別使用預設轉換,則回傳None。若您有一個對應的字典,可以傳入dict.get作為函式。
返回
pandas.Series 或 pandas.DataFrame
根據物件類型,為 pandas.Series 或 pandas.DataFrame
視情況轉換為與 pandas 相容的 NumPy 陣列或 DataFrame。
依據欄位名稱或數值索引來選取 schema 欄位。
依據欄位名稱或數值索引來選取欄位。
依數值順序迭代所有欄位。
表格及其欄位的 Schema。
按數值順序排列的所有欄位列表。
此表格中的欄位數量。
表格維度:(#列, #欄)。
表格元素所佔用的總位元組數。
表格欄位的名稱。
slice
< 原始碼 >( offset = 0 length = None )
計算此表格的零複製 (zero-copy) 切片。
從表格中選取記錄。完整用法請參閱 pyarrow.compute.filter。
扁平化此表格。每個具有結構型別 (struct type) 的欄位會被扁平化,轉換為每個結構欄位對應一欄。其他欄位保持不變。
combine_chunks
< 原始碼 >( *args **kwargs )
透過合併此表格現有的區塊 (chunks) 來建立一個新表格。
每個欄位的 ChunkedArray 中的所有底層區塊都會被串接成零個或一個區塊。
cast
< 原始碼 >( *args **kwargs )
將表格數值轉換為另一個結構 (Schema)。
replace_schema_metadata
< 原始碼 >( *args **kwargs ) → datasets.table.Table
實驗性功能:透過將結構鍵值元數據替換為指定的「新元數據」(可能是 None,這會刪除任何現有的元數據)來建立表格的淺拷貝。
add_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在表格的指定位置新增欄位。
回傳一個新增了該欄位的新表格,原始表格物件保持不變。
append_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在欄位列表末尾附加欄位。
remove_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
建立一個移除了指定欄位的新表格。
set_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
取代表格中指定位置的欄位。
建立一個將欄位重新命名為所提供名稱的新表格。
選取表格的欄位。
回傳一個包含指定欄位且保留了元數據的新表格。
drop
< 原始碼 >( *args **kwargs ) → datasets.table.Table
刪除一或多個欄位並回傳新表格。
from_pandas
< 原始碼 >( *args **kwargs ) → datasets.table.Table
參數
- df (
pandas.DataFrame) — - schema (
pyarrow.Schema, 選填) — Arrow Table 的預期結構 (Schema)。若無法自動推斷欄位型別,可用此參數指定。若傳入此參數,輸出將完全符合該結構。若 Schema 指定的欄位未在 DataFrame 的欄位或索引中找到,將會引發錯誤。DataFrame 中未在 Schema 指定的額外欄位或索引層級將會被忽略。 - preserve_index (
bool, 選填) — 是否將索引儲存為結果Table中的額外欄位。預設為 None,會將索引儲存為欄位,但 RangeIndex 除外(僅作為 metadata 儲存)。使用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。您可以透過明確建構一個 schema 並將其傳遞給此函數來避免這種情況。
from_arrays
< 原始碼 >( *args **kwargs )
從 Arrow 陣列建構 Table。
from_pydict
< 原始碼 >( *args **kwargs )
從 Arrow 陣列或欄位建構 Table。
from_batches
< 原始碼 >( *args **kwargs ) → datasets.table.Table
從 Arrow RecordBatches 的序列或迭代器建構 Table。
MemoryMappedTable
class datasets.table.MemoryMappedTable
< 原始碼 >( table: Table path: str replays: typing.Optional[list[tuple[str, tuple, dict]]] = None )
當表格不使用使用者記憶體 (RAM),而是直接從磁碟讀取資料時,稱為記憶體映射 (memory mapped) 表格。
對其進行序列化 (pickling) 時不會將資料複製到記憶體中。相反地,只會序列化指向記憶體映射 arrow 檔案的路徑,以及從磁碟重新載入表格時需要「重播」的轉換操作清單。
其實作需要儲存所有應用於底層 pyarrow Table 的轉換歷史記錄,以便在從磁碟重新載入 Table 時可以進行「重播」。
這與 InMemoryTable 不同,後者在序列化時會將所有資料複製到記憶體中。
當資料適合放入記憶體時,必須使用 InMemoryTable;而當資料大於記憶體容量,或是您希望應用程式的記憶體使用量保持在低水位時,則建議使用 MemoryMapped。
validate
< 原始碼 >( *args **kwargs )
執行驗證檢查。若驗證失敗,將會引發例外。
預設僅執行快速驗證檢查。若需要徹底驗證,請傳入 full=True(可能為 O(n) 複雜度)。
equals
< 原始碼 >( *args **kwargs ) → bool
檢查兩個表格的內容是否相等。
to_batches
< 原始碼 >( *args **kwargs )
將表格轉換為(連續的)RecordBatch 物件列表。
將表格轉換為 dict 或 OrderedDict。
to_pandas
< 原始碼 >( *args **kwargs ) → pandas.Series 或 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) 轉換為 object 型態。若您擁有的時間戳記超出奈秒級時間戳記的正常日期範圍 (1678 CE-2262 CE),此設定非常有用。若為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 時,為每個欄位產生一個內部「區塊」。雖然這可以暫時減少記憶體使用,但請注意,各種 pandas 操作可能會觸發「合併」(consolidation),這可能會導致記憶體使用量激增。 - self_destruct (
bool,預設為False) — 實驗性功能:若為True,在將 Arrow 物件轉換為 pandas 時,嘗試釋放原始 Arrow 記憶體。若在呼叫to_pandas並使用此選項後再次使用該物件,將會導致程式崩潰。 - types_mapper (
function,預設為None) — 一個將 pyarrow DataType 映射到 pandasExtensionDtype的函數。這可用於覆寫內建 pyarrow 型別轉換的預設 pandas 型別,或在 Table schema 中缺少pandas_metadata時使用。該函數會接收一個 pyarrow DataType,並應返回一個 pandasExtensionDtype,若該型別應使用預設轉換,則返回None。若您有一個映射字典,可以將dict.get作為函數傳入。
返回
pandas.Series 或 pandas.DataFrame
根據物件類型,為 pandas.Series 或 pandas.DataFrame
視情況轉換為與 pandas 相容的 NumPy 陣列或 DataFrame。
依據欄位名稱或數值索引來選取 schema 欄位。
依據欄位名稱或數值索引來選取欄位。
依數值順序迭代所有欄位。
表格及其欄位的 Schema。
按數值順序排列的所有欄位列表。
此表格中的欄位數量。
表格維度:(#列, #欄)。
表格元素所佔用的總位元組數。
表格欄位的名稱。
slice
< 原始碼 >( offset = 0 length = None )
計算此表格的零複製 (zero-copy) 切片。
從表格中選取記錄。完整用法請參閱 pyarrow.compute.filter。
扁平化此表格。每個具有結構型別 (struct type) 的欄位會被扁平化,轉換為每個結構欄位對應一欄。其他欄位保持不變。
combine_chunks
< 原始碼 >( *args **kwargs )
透過合併此表格現有的區塊 (chunks) 來建立一個新表格。
每一欄 ChunkedArray 中的所有底層區塊(chunks)都會合併為一個或零個區塊。
cast
< 原始碼 >( *args **kwargs )
將表格數值轉換為另一個 Schema
replace_schema_metadata
< 原始碼 >( *args **kwargs ) → datasets.table.Table
實驗性質:透過以指定的新詮釋資料(metadata)取代架構的鍵值詮釋資料,來建立表格的淺層複製(若為 None,則會刪除任何現有的詮釋資料)。
add_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在表格的指定位置新增欄位。
回傳一個新增了該欄位的新表格,原始表格物件保持不變。
append_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在欄位列表末尾附加欄位。
remove_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
建立一個移除了指定欄位的新表格。
set_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
取代表格中指定位置的欄位。
建立一個將欄位重新命名為所提供名稱的新表格。
選取表格的欄位。
回傳一個包含指定欄位且保留了元數據的新表格。
drop
< 原始碼 >( *args **kwargs ) → datasets.table.Table
刪除一或多個欄位並回傳新表格。
ConcatenationTable
此表格源自多個被稱為「區塊(blocks)」的表格之串接。它支援在軸 0(附加列)和軸 1(附加欄)上進行串接。
底層的表格被稱為「區塊」,可以是 InMemoryTable 或 MemoryMappedTable 物件。這允許組合來自記憶體或記憶體對映(memory mapped)的表格。當 ConcatenationTable 被 pickle(序列化)時,每個區塊都會被 pickle。
InMemoryTable物件透過將所有資料複製到記憶體中來進行 pickle。MemoryMappedTable物件則在不將資料複製到記憶體的情況下進行 pickle。取而代之的是,僅儲存記憶體對映 arrow 檔案的路徑,以及當從磁碟重新載入表格時需要「重播(replays)」的轉換列表。
其實現需要分別儲存每個區塊。blocks 屬性儲存了一個區塊列表的列表。第一個軸將表格沿著軸 0 進行串接(附加列),而第二個軸則沿著軸 1 進行串接(附加欄)。
如果在軸 0 上進行串接時缺少某些欄位,它們會以 null 值填補。這是透過 pyarrow.concat_tables(tables, promote=True) 來完成的。
您可以透過存取 ConcatenationTable.table 屬性來存取完整合併後的表格,並透過存取 ConcatenationTable.blocks 屬性來存取區塊。
validate
< 原始碼 >( *args **kwargs )
執行驗證檢查。若驗證失敗,將會引發例外。
預設僅執行快速驗證檢查。若需要徹底驗證,請傳入 full=True(可能為 O(n) 複雜度)。
equals
< 原始碼 >( *args **kwargs ) → bool
參數
- other (Table) — 用於比較的表格。
- check_metadata (
bool,預設為False) — 是否同時檢查架構詮釋資料(schema metadata)是否相等。
返回
bool
檢查兩個表格的內容是否相等。
to_batches
< 原始碼 >( *args **kwargs )
將表格轉換為(連續的)RecordBatch 物件列表。
將表格轉換為 dict 或 OrderedDict。
to_pandas
< 原始碼 >( *args **kwargs ) → pandas.Series 或 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 的整數轉換為物件。 - date_as_object (
bool,預設為True) — 將日期轉換為物件。若為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 時,為每一欄產生一個內部「區塊」。雖然這可以暫時減少記憶體使用,但請注意,各種 pandas 操作可能會觸發「合併(consolidation)」,這可能會導致記憶體使用量激增。 - self_destruct (
bool,預設為False) — 實驗性質:若為True,在將 Arrow 物件轉換為 pandas 時,嘗試取消配置原始的 Arrow 記憶體。如果您在呼叫帶有此選項的to_pandas後使用該物件,將會導致您的程式崩潰。 - types_mapper (
function,預設為None) — 將 pyarrow DataType 對應至 pandasExtensionDtype的函式。這可用於覆寫內建 pyarrow 型別轉換的預設 pandas 型別,或在表格 Schema 中缺少pandas_metadata時使用。該函式會接收一個 pyarrow DataType,並預期傳回一個 pandasExtensionDtype,若該型別應使用預設轉換,則傳回None。如果您有一個映射字典,可以傳入dict.get作為函式。
返回
pandas.Series 或 pandas.DataFrame
根據物件類型,為 pandas.Series 或 pandas.DataFrame
視情況轉換為與 pandas 相容的 NumPy 陣列或 DataFrame。
依據欄位名稱或數值索引來選取 schema 欄位。
依據欄位名稱或數值索引來選取欄位。
依數值順序迭代所有欄位。
表格及其欄位的 Schema。
按數值順序排列的所有欄位列表。
此表格中的欄位數量。
表格維度:(#列, #欄)。
表格元素所佔用的總位元組數。
表格欄位的名稱。
slice
< 原始碼 >( offset = 0 length = None )
計算此表格的零複製 (zero-copy) 切片。
從表格中選取記錄。完整用法請參閱 pyarrow.compute.filter。
flatten
< 原始碼 >( *args **kwargs )
扁平化此表格。每個具有結構型別 (struct type) 的欄位會被扁平化,轉換為每個結構欄位對應一欄。其他欄位保持不變。
combine_chunks
< 原始碼 >( *args **kwargs )
透過合併此表格現有的區塊 (chunks) 來建立一個新表格。
每個欄位的 ChunkedArray 中的所有底層區塊都會被串接成零個或一個區塊。
cast
< 原始碼 >( target_schema *args **kwargs )
將表格數值轉換為另一個結構 (Schema)。
replace_schema_metadata
< 原始碼 >( *args **kwargs ) → datasets.table.Table
實驗性功能:透過將結構鍵值元數據替換為指定的「新元數據」(可能是 None,這會刪除任何現有的元數據)來建立表格的淺拷貝。
add_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在表格的指定位置新增欄位。
回傳一個新增了該欄位的新表格,原始表格物件保持不變。
append_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
在欄位列表末尾附加欄位。
remove_column
< 原始碼 >( i *args **kwargs ) → datasets.table.Table
建立一個移除了指定欄位的新表格。
set_column
< 原始碼 >( *args **kwargs ) → datasets.table.Table
取代表格中指定位置的欄位。
建立一個將欄位重新命名為所提供名稱的新表格。
選取表格的欄位。
回傳一個包含指定欄位且保留了元數據的新表格。
drop
< 原始碼 >( columns *args **kwargs ) → datasets.table.Table
刪除一或多個欄位並回傳新表格。
from_tables
< 原始碼 >( tables: list axis: int = 0 )
從表格列表建立 ConcatenationTable。
公用程式 (Utils)
datasets.table.concat_tables
< 原始碼 >( tables: list axis: int = 0 ) → datasets.table.Table
連接表格。
datasets.table.list_table_cache_files
< 原始碼 >( table: Table ) → List[str]
返回
List[str]
由表格載入的快取檔案路徑列表。
取得由表格載入的快取檔案。當表格的部分資料透過記憶體映射 (memory mapping) 從磁碟載入時,會使用快取檔案。