Series API¶
Bodo DataFrames supports Pandas Series methods and accessors that are listed below. They can be accessed through BodoSeries and follow the same behavior as their Pandas equivalents. For details on usage, we link to the corresponding Pandas documentation.
Note
If the user code encounters an unsupported Pandas API or an unsupported parameter, Bodo Bodo DataFrames gracefully falls back to native Pandas. See overview of Bodo DataFrames for more info.
AI Functions¶
bodo.pandas.BodoSeries.ai.tokenizebodo.pandas.BodoSeries.ai.embedbodo.pandas.BodoSeries.ai.llm_generatebodo.pandas.BodoSeries.ai.query_s3_vectors
Binary operator functions¶
bodo.pandas.BodoSeries.addbodo.pandas.BodoSeries.subbodo.pandas.BodoSeries.raddbodo.pandas.BodoSeries.rsub
Computations / descriptive stats¶
Note
Unlike pandas’, the quantile in Bodo DataFrames is an approximate quantile based on the KLL sketch algorithm with probabilistic error guarantees, since computing exact quantiles across large datasets is extremely expensive.
Note
For the following reduction methods, only default parameters are currently supported.
bodo.pandas.BodoSeries.countbodo.pandas.BodoSeries.maxbodo.pandas.BodoSeries.meanbodo.pandas.BodoSeries.minbodo.pandas.BodoSeries.productbodo.pandas.BodoSeries.sumbodo.pandas.BodoSeries.std
Datetimelike properties¶
Note
Input must be a Series of datetime-like data.
Datetime properties¶
Note
For missing datetime values (NaT), Bodo's datetime predicate accessors (e.g., .is_month_end, .is_leap_year) return <NA> to preserve nullability, whereas Pandas returns False.
bodo.pandas.BodoSeries.dt.yearbodo.pandas.BodoSeries.dt.monthbodo.pandas.BodoSeries.dt.daybodo.pandas.BodoSeries.dt.daysbodo.pandas.BodoSeries.dt.hourbodo.pandas.BodoSeries.dt.minutebodo.pandas.BodoSeries.dt.secondbodo.pandas.BodoSeries.dt.secondsbodo.pandas.BodoSeries.dt.microsecondbodo.pandas.BodoSeries.dt.microsecondsbodo.pandas.BodoSeries.dt.nanosecondbodo.pandas.BodoSeries.dt.nanosecondsbodo.pandas.BodoSeries.dt.dayofweekbodo.pandas.BodoSeries.dt.day_of_weekbodo.pandas.BodoSeries.dt.weekdaybodo.pandas.BodoSeries.dt.dayofyearbodo.pandas.BodoSeries.dt.day_of_yearbodo.pandas.BodoSeries.dt.daysinmonthbodo.pandas.BodoSeries.dt.days_in_monthbodo.pandas.BodoSeries.dt.datebodo.pandas.BodoSeries.dt.timebodo.pandas.BodoSeries.dt.quarterbodo.pandas.BodoSeries.dt.is_month_startbodo.pandas.BodoSeries.dt.is_month_endbodo.pandas.BodoSeries.dt.is_quarter_startbodo.pandas.BodoSeries.dt.is_quarter_endbodo.pandas.BodoSeries.dt.is_year_startbodo.pandas.BodoSeries.dt.is_year_endbodo.pandas.BodoSeries.dt.is_leap_yearbodo.pandas.BodoSeries.dt.components
Datetime methods¶
Note
Locale format must be strict: The locale parameter in month_name and day_name must
follow the exact system locale naming convention (e.g., "pt_BR.UTF-8" or "en_US.utf-8").
Variants like "pt_BR.utf8" may not be recognized and trigger an error.
bodo.pandas.BodoSeries.dt.normalizebodo.pandas.BodoSeries.dt.floorbodo.pandas.BodoSeries.dt.ceilbodo.pandas.BodoSeries.dt.month_namebodo.pandas.BodoSeries.dt.day_namebodo.pandas.BodoSeries.dt.roundbodo.pandas.BodoSeries.dt.total_secondsbodo.pandas.BodoSeries.dt.isocalendar
Note
Bodo currently only supports "NaT" for the ambiguous parameter in tz_localize.
"raise", "infer", or boolean arrays are not supported and will trigger a fallback to
Pandas. Similarly, for the nonexistent parameter,
"raise" is not supported and will trigger a fallback. Due to these limitations, the
default behavior in Bodo is ambiguous="NaT" and nonexistent="NaT".
Function application¶
bodo.pandas.BodoSeries.aggbodo.pandas.BodoSeries.aggregatebodo.pandas.BodoSeries.mapbodo.pandas.BodoSeries.map_partitions
Missing data handling¶
bodo.pandas.BodoSeries.isnabodo.pandas.BodoSeries.isnullbodo.pandas.BodoSeries.notnabodo.pandas.BodoSeries.notnullbodo.pandas.BodoSeries.replace
Reindexing / Selection / Label manipulation¶
bodo.pandas.BodoSeries.headbodo.pandas.BodoSeries.isinbodo.pandas.BodoSeries.reset_indexbodo.pandas.BodoSeries.where
Reshaping, sorting¶
String handling¶
Note
cat falls back to Pandas when the others parameter is not specified (i.e., others=None).
bodo.pandas.BodoSeries.str.catbodo.pandas.BodoSeries.str.centerbodo.pandas.BodoSeries.str.containsbodo.pandas.BodoSeries.str.countbodo.pandas.BodoSeries.str.decodebodo.pandas.BodoSeries.str.encodebodo.pandas.BodoSeries.str.endswithbodo.pandas.BodoSeries.str.extractbodo.pandas.BodoSeries.str.findbodo.pandas.BodoSeries.str.findallbodo.pandas.BodoSeries.str.fullmatchbodo.pandas.BodoSeries.str.getbodo.pandas.BodoSeries.str.indexbodo.pandas.BodoSeries.str.isalnumbodo.pandas.BodoSeries.str.isalphabodo.pandas.BodoSeries.str.isdecimalbodo.pandas.BodoSeries.str.isdigitbodo.pandas.BodoSeries.str.islowerbodo.pandas.BodoSeries.str.isnumericbodo.pandas.BodoSeries.str.isspacebodo.pandas.BodoSeries.str.istitlebodo.pandas.BodoSeries.str.isupperbodo.pandas.BodoSeries.str.joinbodo.pandas.BodoSeries.str.lenbodo.pandas.BodoSeries.str.ljustbodo.pandas.BodoSeries.str.lowerbodo.pandas.BodoSeries.str.lstripbodo.pandas.BodoSeries.str.matchbodo.pandas.BodoSeries.str.normalizebodo.pandas.BodoSeries.str.padbodo.pandas.BodoSeries.str.partitionbodo.pandas.BodoSeries.str.removeprefixbodo.pandas.BodoSeries.str.removesuffixbodo.pandas.BodoSeries.str.repeatbodo.pandas.BodoSeries.str.replacebodo.pandas.BodoSeries.str.rfindbodo.pandas.BodoSeries.str.rindexbodo.pandas.BodoSeries.str.rjustbodo.pandas.BodoSeries.str.rpartitionbodo.pandas.BodoSeries.str.rsplitbodo.pandas.BodoSeries.str.rstripbodo.pandas.BodoSeries.str.slicebodo.pandas.BodoSeries.str.slice_replacebodo.pandas.BodoSeries.str.splitbodo.pandas.BodoSeries.str.startswithbodo.pandas.BodoSeries.str.stripbodo.pandas.BodoSeries.str.swapcasebodo.pandas.BodoSeries.str.titlebodo.pandas.BodoSeries.str.translatebodo.pandas.BodoSeries.str.upperbodo.pandas.BodoSeries.str.wrapbodo.pandas.BodoSeries.str.zfill