gpt4 book ai didi

python - 我怎样才能划分 Pandas 数据框?

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:57 24 4
gpt4 key购买 nike

我在 HDF5 存储区的 pandas 数据框中存储了大量的时间序列函数,我想绘制时间序列中每个函数的特定变换图。由于绘图的数量如此之大,绘制它们需要很长时间,我使用了 fork()numpy.array_split() 来分解索引并运行平行的几个地 block 。

以这种方式做事意味着每个进程都有整个时间序列的副本。由于限制我可以运行多少进程的是我使用的内存总量,我希望能够让每个进程只存储它自己的数据帧 block 。

如何拆分 pandas 数据框?

最佳答案

np.array_split 非常适合这个用例。

 [40]: df = DataFrame(np.random.randn(5,10))

In [41]: df
Out[41]:
0 1 2 3 4 5 6 7 8 9
0 -1.998163 -1.973708 0.461369 -0.575661 0.862534 -1.326168 1.164199 -1.004121 1.236323 -0.339586
1 -0.591188 -0.162782 0.043923 0.101241 0.120330 -1.201497 -0.108959 -0.033221 0.145400 -0.324831
2 0.114842 0.200597 2.792904 0.769636 -0.698700 -0.544161 0.838117 -0.013527 -0.623317 -1.461193
3 1.309628 -0.444961 0.323008 -1.409978 -0.697961 0.132321 -2.851494 1.233421 -1.540319 1.107052
4 0.436368 0.627954 -0.942830 0.448113 -0.030464 0.764961 -0.241905 -0.620992 1.238171 -0.127617

当您在此处获得包含 3 个元素的列表时,只需进行 pretty-print 即可。

In [43]: for dfs in np.array_split(df,3,axis=1):
....: print dfs, "\n"
....:
0 1 2 3
0 -1.998163 -1.973708 0.461369 -0.575661
1 -0.591188 -0.162782 0.043923 0.101241
2 0.114842 0.200597 2.792904 0.769636
3 1.309628 -0.444961 0.323008 -1.409978
4 0.436368 0.627954 -0.942830 0.448113

4 5 6
0 0.862534 -1.326168 1.164199
1 0.120330 -1.201497 -0.108959
2 -0.698700 -0.544161 0.838117
3 -0.697961 0.132321 -2.851494
4 -0.030464 0.764961 -0.241905

7 8 9
0 -1.004121 1.236323 -0.339586
1 -0.033221 0.145400 -0.324831
2 -0.013527 -0.623317 -1.461193
3 1.233421 -1.540319 1.107052

关于python - 我怎样才能划分 Pandas 数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com