Hi Andrew! Looking into similar requirements I came across Feather and fst. They both basically let you efficiently slice into compressed on-disk DataFrames. Feather already supports Python, but fst is just for C++ and R at the moment.
https://blog.rstudio.com/2016/03/29/feather/
http://www.fstpackage.org/ https://github.com/fstpackage/fstlib