About StaticFrame

StaticFrame is an alternative DataFrame library built on an immutable data model. An immutable data model reduces opportunities for error and offers very significant performance advantages for some operations. (Read more about the benefits of immutability here.)

StaticFrame is not a drop-in replacement for Pandas. While some conventions and API components are directly borrowed from Pandas, some are completely different, either by necessity (due to the immutable data model) or by choice (offering more uniform, less redundant, and more explicit interfaces). (Read more about differences between Pandas and StaticFrame here.)

An interactive Jupyter notebook, with a guided introduction to using StaticFrame, is available here.

StaticFrame’s API documentation features thousands of code examples, covering nearly every end-point in the API. For each component, an “overview” and a “detail” section is provided. The overview lists one interface and its signature per line. (See the overview of Series constructors here.) The detail section provides full documentation as well as extensive code examples. (See the detail of Frame methods here.)

Please assist in development by reporting bugs or requesting features. We are a welcoming community and appreciate all feedback! Visit GitHub Issues. To get started contributing to StaticFrame, see Contributing.

The ideas behind StaticFrame developed out of years of work with Pandas and related tabular data structures by the Investment Systems team at Research Affiliates, LLC. In May of 2017 Christopher Ariza proposed the basic model to the Investment Systems team and began implementation. The first public release was in May 2018.