相关疑难解决方法(0)

在 Python 中的列表中混洗列表的有效方法

好像以前应该问过的问题,但是我找不到。所以就到这里了。

数据:
-list子列表的主(长度 ~= 16,000,000)(每个长度最多 500 个项目)str

目标:
- 有效地打乱主列表中的每个子列表。

我已经尝试了直for-loop,列表理解,熊猫Series.apply()pandaralleldask数据帧.apply().map_partition()方法。

一个for循环大约需要15 分钟
pd.series.apply(), dask.series.apply(), 和dask.series.map_partition()所有人都设法做到了6 分钟多一点

我的问题是“我可以更快地实现改组吗”?制作新副本或原地改组都是可以接受的。

以下是我的尝试:

def normal_shuffle(series):
    output = series.tolist()
    length = len(output)
    for i in range(length):
        random.Random().shuffle(output[i])
    return output

def shuffle_returned(a_list):
    new_list = a_list
    random.shuffle(new_list)
    return new_list

def shuffle_partition(a_partition):
    return a_partition.apply(shuffle_returned)

%time shuffled_for = normal_shuffle(test_series)
%time shuffled_apply = test_series.apply(shuffle_returned)

pandarallel.initialize(progress_bar=False, …
Run Code Online (Sandbox Code Playgroud)

python parallel-processing shuffle list pandas

7
推荐指数
1
解决办法
374
查看次数

Python:实时流数据

我试图通过Python捕获实时流式金融时间数据.我想最初将信息存储在数据库中,然后在以后进一步开发一个程序,根据这些数据分析和做出交易决策.能够随后在网站或Jupyter笔记本中以某种图形格式显示所述数据将是很好的.

作为一个起点,我想我会使用GDAX或Gemini的比特币数据.如果可行,我想捕获刻度数据和潜在的附加订单信息.

在进行一些研究时,我对这些选项感到有点不知所措,并且可以在如何构建项目以及哪些库最合适方面使用一些指导.

我查看了每个服务的API以及一些Github项目的相应文档,我仍然不确定从哪里开始.任何建议,建议或推荐阅读将不胜感激.

python database trading real-time bitcoin

6
推荐指数
1
解决办法
8135
查看次数

为什么以下简单的并行化代码比Python中的简单循环慢得多?

一个简单的程序,用于计算数字平方并存储结果:

    import time
    from joblib import Parallel, delayed
    import multiprocessing

    array1 = [ 0 for i in range(100000) ]

    def myfun(i):
        return i**2

    #### Simple loop ####
    start_time = time.time()

    for i in range(100000):
        array1[i]=i**2

    print( "Time for simple loop         --- %s seconds ---" % (  time.time()
                                                               - start_time
                                                                 )
            )
    #### Parallelized loop ####
    start_time = time.time()
    results = Parallel( n_jobs  = -1,
                        verbose =  0,
                        backend = "threading"
                        )(
                        map( delayed( myfun ),
                             range( 100000 )
                             )
                        ) …
Run Code Online (Sandbox Code Playgroud)

python arrays parallel-processing function

5
推荐指数
2
解决办法
685
查看次数