Why Dataset
doesn't serialize its contents, isn't it the whole point? I expect it to behave similar to python's pandas.DataFrame
, R's data.frame
and similar tabular data abstractions in other languages. Why on earth importing 100 Mb csv file with Wolfram results in 1 Gb Dataset
expression in memory, which in turn results in terrible Data Science and Machine Learning experience for everyone. Is this issue being addressed somehow?
1 Answer
You may use ResourceFunction
TableSet
from the Wolfram Function Repository for tabular data.
Dataset
is optimized for hierarchical data with varying structure per row/node and has some overhead to manage that.
TableSet
is for tabular data so has a much smaller footprint.
TableSet
is also compatible with SQL-like functions such as Query
, Select
, and others.
As the contributor of the function any feedback on its utility is welcome.
Hope this helps.
-
$\begingroup$ Thanks! I've seen that function posted recently. Waiting for an opportunity to use it :) $\endgroup$– swishCommented Aug 17, 2021 at 12:02
Dataset
objects are more like R'sdata.table
, not so much asdata.frame
. Anyone willing to share an opinion on this? $\endgroup$