Pandas-ORM Integration.
Project description
RedPanda: Pandas & SQLAlchemy
Two great tastes that taste great together.
Use RedPanda to add simple pandas integration into your declarative models.
Installation
pip install redpanda
Basic Use
Create a session from a SQLAlchemy engine:
import redpanda
engine = redpanda.create_engine("sqlite://")
# => Engine(sqlite://)
Session = redpanda.orm.sessionmaker(bind=engine)
session = Session()
# => <sqlalchemy.orm.session.Session>
Querying
Use the frame()
method of RedPanda queries to return a DataFrame representation of the results instead of a collection of models.
query = session.query(MyModel)
# => <redpanda.orm.Query>
query.frame()
# => <pandas.DataFrame>
Querying with Filters
The frame()
method that wraps the pandas.read_sql()
function into a dialect-agnostic class-method for declarative SQLAlchemy models and can accept the same keyword arguments as pandas.read_sql()
:
query = session.query(MyModel).filter_by(my_attr="my_val")
query.frame(index_col="time")
Additionally, a within()
method is added to SQLAlchemy's InstrumentedAttribute class that accepts a pandas Index object:
index = pandas.period_range("2016-11-01", "2016-11-30", freq="W")
query = session.query(MyModel).filter(MyModel.timestamp.within(index))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
redpanda-0.4.6.tar.gz
(18.9 kB
view hashes)