由于RAM限制,是否可以将大数据集(200gb)读入字典?

2024-10-02 10:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于Python如何工作的问题。 我有一个非常大的数据集(200gb),我将使用python迭代行,将数据存储在字典中,然后执行一些计算。最后,我将把计算出的数据写入一个CSV文件。 我关心的是我电脑的容量。我恐怕(或者很肯定)我的内存不能存储这么大的数据集。有更好的方法吗? 输入数据的结构如下:

#RIC    Date[L] Time[L] Type    ALP-L1-BidPrice ALP-L1-BidSize  ALP-L1-AskPrice ALP-L1-AskSize  ALP-L2-BidPrice ALP-L2-BidSize  ALP-L2-AskPrice ALP-L2-AskSize  ALP-L3-BidPrice ALP-L3-BidSize  ALP-L3-AskPrice ALP-L3-AskSize  ALP-L4-BidPrice ALP-L4-BidSize  ALP-L4-AskPrice ALP-L4-AskSize  ALP-L5-BidPrice ALP-L5-BidSize  ALP-L5-AskPrice ALP-L5-AskSize  TOR-L1-BidPrice TOR-L1-BidSize  TOR-L1-AskPrice TOR-L1-AskSize  TOR-L2-BidPrice TOR-L2-BidSize  TOR-L2-AskPrice TOR-L2-AskSize  TOR-L3-BidPrice TOR-L3-BidSize  TOR-L3-AskPrice TOR-L3-AskSize  TOR-L4-BidPrice TOR-L4-BidSize  TOR-L4-AskPrice TOR-L4-AskSize  TOR-L5-BidPrice TOR-L5-BidSize  TOR-L5-AskPrice TOR-L5-AskSize
HOU.ALP 20150901    30:10.8 Market Depth    5.29    50000   5.3 16000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 46000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000
HOU.ALP 20150901    30:10.8 Market Depth    5.29    50000   5.3 22000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 36000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000
HOU.ALP 20150901    30:10.8 Market Depth    5.29    50000   5.3 32000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 40000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000
HOU.ALP 20150901    30:10.8 Market Depth    5.29    50000   5.3 44000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 36000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000
HOU.ALP 20150901    30:12.1 Market Depth    5.29    50000   5.3 32000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 46000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000
HOU.ALP 20150901    30:12.1 Market Depth    5.29    50000   5.3 38000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000   5.29    50000   5.3 36000   5.28    50000   5.31    50000   5.27    50000   5.32    50000   5.26    50000   5.33    50000           5.34    50000

下面是我要做的:

  1. 读入ta数据,并将其存储到字典中,并使用[symbol][time][bid]和[ask]等键
  2. 我不需要从最坏的价格中找出最好的价格,特别是在最坏的价格中找出最好的价格。在
  3. 导出到csv文件。在

这是我的尝试。请帮我写得更有效率:

^{pr2}$

Tags: 数据l1markettordepthl3l2hou
1条回答
网友
1楼 · 发布于 2024-10-02 10:23:34

这很难回答,因为当你进入像非常大的数据集这样的东西时,如何存储东西非常重要。如何定义数据集大小也很重要。在

如果这是一个消耗200GB的CSV文件,很可能你可以在你的计算机上以二进制形式存储它,它将占用8GB的空间。再者,如果对每一个数字数据使用python对象,那么它可能接近1TB的实际ram。在

如果您有一个数据集可能适合ram并希望它适合ram,那么可以从使用numpy之类的东西开始,这些东西在本机C结构上提供了一个接口。你可以用像结构包以帮助将数据强制转换为C类型。在

如果您的数据集没有机会适应ram,那么您需要研究其他分析数据的方法。其他的方法是像数据库和/或像“R”这样的不同语言。你也可以出去买一台拥有大量ram的服务器。在

相关问题 更多 >

    热门问题