BatchDataFrameOperations Class

DataFrame-oriented wrappers for batch record operations.

Provides create, update, and delete that accept pandas.DataFrame / pandas.Series inputs and convert them to standard dicts before enqueueing on the batch. This lets data-science callers feed DataFrames directly into a batch without manual conversion.

Accessed via batch.dataframe.

Example:


   import pandas as pd

   batch = client.batch.new()
   df = pd.DataFrame([
       {"name": "Contoso", "telephone1": "555-0100"},
       {"name": "Fabrikam", "telephone1": "555-0200"},
   ])
   batch.dataframe.create("account", df)
   result = batch.execute()

Constructor

BatchDataFrameOperations(batch: _BatchContext)

Parameters

Name Description
batch
Required

Methods

create

Enqueue record creates from a pandas DataFrame.

Each row becomes a record. All rows are bundled in a single CreateMultiple batch item (one HTTP request in the batch).

Example:


   df = pd.DataFrame([{"name": "Contoso"}, {"name": "Fabrikam"}])
   batch.dataframe.create("account", df)
delete

Enqueue record deletes from a pandas Series of GUIDs.

Example:


   ids_series = pd.Series(["guid-1", "guid-2", "guid-3"])
   batch.dataframe.delete("account", ids_series)
update

Enqueue record updates from a pandas DataFrame.

Each row represents an update. The id_column specifies which column contains the record GUIDs.

Example:


   df = pd.DataFrame([
       {"accountid": "guid-1", "telephone1": "555-0100"},
       {"accountid": "guid-2", "telephone1": "555-0200"},
   ])
   batch.dataframe.update("account", df, id_column="accountid")

create

Enqueue record creates from a pandas DataFrame.

Each row becomes a record. All rows are bundled in a single CreateMultiple batch item (one HTTP request in the batch).

Example:


   df = pd.DataFrame([{"name": "Contoso"}, {"name": "Fabrikam"}])
   batch.dataframe.create("account", df)
create(table: str, records: DataFrame) -> None

Parameters

Name Description
table
Required
str

Table schema name (e.g. "account").

records
Required

DataFrame where each row is a record to create.

Exceptions

Type Description

If records is not a pandas DataFrame.

If records is empty or any row has no non-null values.

delete

Enqueue record deletes from a pandas Series of GUIDs.

Example:


   ids_series = pd.Series(["guid-1", "guid-2", "guid-3"])
   batch.dataframe.delete("account", ids_series)
delete(table: str, ids: Series, use_bulk_delete: bool = True) -> None

Parameters

Name Description
table
Required
str

Table schema name (e.g. "account").

ids
Required

Series of record GUIDs to delete.

use_bulk_delete

When True (default) and ids has multiple values, use the BulkDelete action.

Default value: True

Exceptions

Type Description

If ids is not a pandas Series.

If ids contains invalid values.

update

Enqueue record updates from a pandas DataFrame.

Each row represents an update. The id_column specifies which column contains the record GUIDs.

Example:


   df = pd.DataFrame([
       {"accountid": "guid-1", "telephone1": "555-0100"},
       {"accountid": "guid-2", "telephone1": "555-0200"},
   ])
   batch.dataframe.update("account", df, id_column="accountid")
update(table: str, changes: DataFrame, id_column: str, clear_nulls: bool = False) -> None

Parameters

Name Description
table
Required
str

Table schema name (e.g. "account").

changes
Required

DataFrame where each row contains a record GUID and the fields to update.

id_column
Required
str

Name of the DataFrame column containing record GUIDs.

clear_nulls

When False (default), NaN/None values are skipped. When True, NaN/None sends null to clear the field.

Default value: False

Exceptions

Type Description

If changes is not a pandas DataFrame.

If changes is empty, id_column is missing, or IDs are invalid.