[docs]def__init__(self,data_frame:Any,*,page_content_column:str="text"):"""Initialize with dataframe object. Args: data_frame: DataFrame object. page_content_column: Name of the column containing the page content. Defaults to "text". """self.data_frame=data_frameself.page_content_column=page_content_column
[docs]deflazy_load(self)->Iterator[Document]:"""Lazy load records from dataframe."""for_,rowinself.data_frame.iterrows():metadata=row.to_dict()text=metadata.pop(self.page_content_column)yieldDocument(page_content=text,metadata=metadata)
[docs]def__init__(self,data_frame:Any,page_content_column:str="text",engine:Literal["pandas","modin"]="pandas",):"""Initialize with dataframe object. Args: data_frame: Pandas DataFrame object. page_content_column: Name of the column containing the page content. Defaults to "text". """try:ifengine=="pandas":importpandasaspdelifengine=="modin":importmodin.pandasaspdelse:raiseValueError(f"Unsupported engine {engine}. Must be one of 'pandas', or 'modin'.")exceptImportErrorase:raiseImportError("Unable to import pandas, please install with `pip install pandas`.")fromeifnotisinstance(data_frame,pd.DataFrame):raiseValueError(f"Expected data_frame to be a pd.DataFrame, got {type(data_frame)}")super().__init__(data_frame,page_content_column=page_content_column)