我有一个5 5GB的Dataframe (有数千列),每次用户在我的web应用程序中输入时,我都会从这个Dataframe中加载和抓取一列,并返回一些计算。
我的前端是Vue应用程序,后端是Flask。
Dataframe是一个很大的矩阵,所以它超出了数据库的列限制(至少是我尝试过的)。
我可以在哪里存储这个Dataframe,以便能够快速加载它?
发布于 2021-01-10 05:57:57
填充数据框架的数据从何而来?
例如,如果它是一个数据库,您可以只获取用户当时需要的数据,而不是将所有数据放入内存中。
另一方面,如果您的数据不是来自数据库,那么这将是我的第一个建议。将数据放入数据库,这些东西就是为此目的而构建的。您可以从sql查询(pandas.read_sql)创建数据帧。
如果你真的需要在内存中有5g的数据,那么内存中的数据库可能是合适的。为此,Redis应运而生。
您可以将数据帧存储为对象,也可以将其分解为记录并单独存储,只提取用户请求的数据。这将消除应用程序始终在内存中存储5g数据的要求。
https://stackoverflow.com/questions/65647898
复制相似问题