大熊猫数据帧(由网络应用程序消耗)存储在哪里



我有一个5GB的数据框架(有数千列(,每次用户在我的web应用程序中输入时,我都会从这个数据框架中加载并获取一列,并返回一些计算结果。

我的前端是Vue应用程序,后端在Flask。

Dataframe是一个大矩阵,因此它超过了数据库的列限制(至少是我尝试过的(。

我可以在哪里存储这个数据帧,以便能够快速加载它?

填充数据帧的数据来自哪里?

例如,如果它是一个数据库,您可以只获取用户当时需要的数据,而不是将所有数据放入内存。

另一方面,如果你的数据不是来自数据库,那么这将是我的第一个建议。将数据放入数据库中,这些东西就是为了这个目的而构建的。您可以从sql查询(pandas.read_sql(创建数据帧。

如果你真的必须在内存中有5g的数据,那么也许内存中的数据库是合适的。为此,我想到了Redis。

您可以对数据帧进行pickle并将整个数据帧存储为一个对象,也可以将其分解为记录并单独存储,只提取用户请求的数据。这将取消应用程序始终在内存中存储5g数据的要求。

最新更新