~/talk

Small Big Data: using NumPy and Pandas when your data doesn't fit ...

Talkat PyCon US 2020 · 2020-04-15..04-23· [python, databases]
slides:none on file

Explains concrete tactics to handle data too big for RAM using NumPy and Pandas: lossless dtype downcasting (64→16-bit cuts memory ~4x), sparse arrays for mostly-zero data, on-disk chunking (process 1k rows at a time to compute global max), Zarr/HDF-like chunked storage, and indexing via SQLite to fetch only matching rows—example shows SQLite index gives 50x speedup versus scanning CSVs; includes when renting more RAM is the simpler choice.

AI-written summary · about

  1. 0:00Small Big Data
  2. 0:14Prelude: the most important question
  3. 1:11TIME FOR A BIG DATA CLUSTER!!!!
  4. 2:13A non-solution: don't use RAM, just disk
  5. 4:05The software solution: use less RAM
  6. 7:18Compression: Numpy dtypes
  7. 8:52Compression: sparse arrays
  8. 11:14Compression: Pandas dtypes When loading data you can specify types
  9. 13:54Chunking: loading Numpy chunks with Zarr
  10. 15:22Chunking: with Pandas
  11. 18:52Indexing: the simplest solution
  12. 19:26Indexing: Pandas without indexing
  13. 20:45Indexing: populate SQLite from Pandas
  14. 22:10Indexing: load from SQLite into DataFrame
  15. 23:01Indexing: SQLite vs. CSV
  16. 24:14Conclusion: what about other libraries?
  17. 25:06Conclusion: don't forget about
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.