Skip to content

[BIG REPORT] - Pandas 2.x compatibility: replace removed DataFrame/Series append usage causing runtime failures #337

Description

@TanmayDabhade

Describe the problem.
gs-quant declares pandas>=1.4,<3.0.0, which allows pandas>=2, but several code paths still use deprecated declarations DataFrame.append / Series.append (removed in pandas 2). This causes runtime AttributeError in normal workflows (analytics processors, risk result composition, tree entities, and hedge
transaction-cost helpers), so users on pandas 2 cannot reliably use these APIs.

Describe the solution you'd like
Make pandas-2-compatible updates by replacing deprecated .append(...) calls with pd.concat(...) (or equivalent merge logic) in affected modules, and add regression tests to ensure compatibility on pandas 1.5 and 2.x.
If full migration is not possible immediately, temporarily tighten dependency bounds to pandas<2 until code is updated.

Describe alternatives you've considered

  • Pinning environment locally to pandas<2 as a workaround (not ideal for users).
  • Dropping pandas 2 support explicitly in package metadata until migration is complete.
  • Partial migration of only one module (insufficient since failures exist in multiple files).

Are you willing to contribute
YES

Additional context
Known affected locations include:

  • gs_quant/analytics/processors/utility_processors.py
  • gs_quant/entities/tree_entity.py
  • gs_quant/markets/hedge.py
  • gs_quant/risk/results.py
    Current behavior with pandas 2.x: AttributeError: 'DataFrame' object has no attribute 'append' / 'Series' object has no attribute 'append'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions