pandas_dataframe.py — langchain Source File
Architecture documentation for pandas_dataframe.py, a python file in the langchain codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR de401477_2c08_fd8e_e089_bc90d268b35b["pandas_dataframe.py"] 67ec3255_645e_8b6e_1eff_1eb3c648ed95["re"] de401477_2c08_fd8e_e089_bc90d268b35b --> 67ec3255_645e_8b6e_1eff_1eb3c648ed95 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] de401477_2c08_fd8e_e089_bc90d268b35b --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 75137834_4ba7_dc43_7ec5_182c05eceedf["langchain_core.exceptions"] de401477_2c08_fd8e_e089_bc90d268b35b --> 75137834_4ba7_dc43_7ec5_182c05eceedf fc383c03_4b29_7c03_c489_626a968d8d03["langchain_core.output_parsers.base"] de401477_2c08_fd8e_e089_bc90d268b35b --> fc383c03_4b29_7c03_c489_626a968d8d03 1f6af6bc_5660_a369_0bfb_4b5c8ed28743["pydantic.py"] de401477_2c08_fd8e_e089_bc90d268b35b --> 1f6af6bc_5660_a369_0bfb_4b5c8ed28743 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] de401477_2c08_fd8e_e089_bc90d268b35b --> 91721f45_4909_e489_8c1f_084f8bd87145 8a49663d_c016_a6c1_e96e_621fdb612ef3["langchain_classic.output_parsers.format_instructions"] de401477_2c08_fd8e_e089_bc90d268b35b --> 8a49663d_c016_a6c1_e96e_621fdb612ef3 a1760054_4f0c_b382_7fe4_82386f79d5f9["pandas"] de401477_2c08_fd8e_e089_bc90d268b35b --> a1760054_4f0c_b382_7fe4_82386f79d5f9 style de401477_2c08_fd8e_e089_bc90d268b35b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import re
from typing import Any
from langchain_core.exceptions import OutputParserException
from langchain_core.output_parsers.base import BaseOutputParser
from pydantic import field_validator
from typing_extensions import override
from langchain_classic.output_parsers.format_instructions import (
PANDAS_DATAFRAME_FORMAT_INSTRUCTIONS,
)
class PandasDataFrameOutputParser(BaseOutputParser[dict[str, Any]]):
"""Parse an output using Pandas DataFrame format."""
"""The Pandas DataFrame to parse."""
dataframe: Any
@field_validator("dataframe")
@classmethod
def _validate_dataframe(cls, val: Any) -> Any:
import pandas as pd
if issubclass(type(val), pd.DataFrame):
return val
if pd.DataFrame(val).empty:
msg = "DataFrame cannot be empty."
raise ValueError(msg)
msg = "Wrong type for 'dataframe', must be a subclass \
of Pandas DataFrame (pd.DataFrame)"
raise TypeError(msg)
def parse_array(
self,
array: str,
original_request_params: str,
) -> tuple[list[int | str], str]:
"""Parse the array from the request parameters.
Args:
array: The array string to parse.
original_request_params: The original request parameters string.
Returns:
A tuple containing the parsed array and the stripped request parameters.
Raises:
OutputParserException: If the array format is invalid or cannot be parsed.
"""
parsed_array: list[int | str] = []
# Check if the format is [1,3,5]
if re.match(r"\[\d+(,\s*\d+)*\]", array):
parsed_array = [int(i) for i in re.findall(r"\d+", array)]
# Check if the format is [1..5]
elif re.match(r"\[(\d+)\.\.(\d+)\]", array):
match = re.match(r"\[(\d+)\.\.(\d+)\]", array)
if match:
// ... (112 more lines)
Domain
Subdomains
Classes
Dependencies
- langchain_classic.output_parsers.format_instructions
- langchain_core.exceptions
- langchain_core.output_parsers.base
- pandas
- pydantic.py
- re
- typing
- typing_extensions
Source
Frequently Asked Questions
What does pandas_dataframe.py do?
pandas_dataframe.py is a source file in the langchain codebase, written in python. It belongs to the OutputParsing domain, StreamingParsers subdomain.
What does pandas_dataframe.py depend on?
pandas_dataframe.py imports 8 module(s): langchain_classic.output_parsers.format_instructions, langchain_core.exceptions, langchain_core.output_parsers.base, pandas, pydantic.py, re, typing, typing_extensions.
Where is pandas_dataframe.py in the architecture?
pandas_dataframe.py is located at libs/langchain/langchain_classic/output_parsers/pandas_dataframe.py (domain: OutputParsing, subdomain: StreamingParsers, directory: libs/langchain/langchain_classic/output_parsers).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free