小编Ind*_*nus的帖子

为什么 Python 的默认安装程序是 32 位的?

如果您转到Python 的默认安装程序下载页面并单击如下所示的漂亮黄色按钮,它将为您下载最新版本 Python 的 32 位安装程序。

在此处输入图片说明

要获得 64 位安装程序,您必须单击下面红色圈出的链接,然后滚动到底部以找到安装程序,例如,对于 Windows,它将是Windows x86-64 可执行安装程序

在此处输入图片说明

大多数 Python 开发人员仍然使用 32 位系统吗?否则,为什么 Python 不为 64 位制作默认安装程序?它确实让我困惑了 30 分钟,安装 32 位版本,卸载然后最后安装 64 位版本。

python 64-bit

13
推荐指数
0
解决办法
3781
查看次数

multiprocessing.Pipe() 与 .Queue()

import multiprocess as mp
Run Code Online (Sandbox Code Playgroud)

mp.Pipe()和 之间的主要区别是什么mp.Queue()?它们对我来说似乎是一样的:基本上Pipe.recv()相当于Queue.get(),Pipe.send()Queue.put()

queue multiprocessing python-3.x

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

如何重用多处理池?

底部是我现在拥有的代码。它似乎工作正常。但是,我并不完全理解它。我想如果没有.join(),我会冒着代码在池完成执行之前进入下一个 for 循环的风险。我们不需要那 3 行注释掉吗?

另一方面,如果我要.close().join()方式一起去,有没有办法“重新打开”那个关闭的游泳池而不是Pool(6)每次?

import multiprocessing as mp
import random as rdm
from statistics import stdev, mean
import time


def mesh_subset(population, n_chosen=5):
    chosen = rdm.choices(population, k=n_chosen)
    return mean(chosen)


if __name__ == '__main__':
    population = [x for x in range(20)]
    N_iteration = 10
    start_time = time.time()
    pool = mp.Pool(6)
    for i in range(N_iteration):
        print([round(x,2) for x in population])
        print(stdev(population))
        # pool = mp.Pool(6)
        population = pool.map(mesh_subset, [population]*len(population))
        # pool.close()
        # pool.join() …
Run Code Online (Sandbox Code Playgroud)

multiprocessing python-3.x

5
推荐指数
1
解决办法
3453
查看次数

pathos.multiprocessing 有星图吗?

执行下面的代码时出现错误。问题似乎是map不支持接受多个输入的函数,就像在 python 内置multiprocessing包中一样。但在内置包中,有一个starmap可以解决这个问题。pathos.multiprocessing有相同的吗?

import pathos.multiprocessing as mp


class Bar:
    def foo(self, name):
        return len(str(name))

    def boo(self, x, y, z):
        sum = self.foo(x)
        sum += self.foo(y)
        sum += self.foo(z)
        return sum


if __name__ == '__main__':
    b = Bar()
    pool = mp.ProcessingPool()
    results = pool.map(b.boo, [(12, 3, 456), (8, 9, 10), ('a', 'b', 'cde')])
    print(results)
Run Code Online (Sandbox Code Playgroud)

类型错误:boo() 缺少 2 个必需的位置参数:“y”和“z”

按照建议更新 lambda 表达式(不起作用):

if __name__ == '__main__':
    b = Bar()
    pool = mp.ProcessingPool()
    results = …
Run Code Online (Sandbox Code Playgroud)

multiprocessing python-3.x pathos

5
推荐指数
1
解决办法
3436
查看次数

plotly.js,如何调整标题区域大小

我有一个散点图,如下图所示。如何让标题区域不占用这么多空间?需要说明的是,我指的不是标题的字体大小,而是标题区域占据的空白空间。

在此处输入图片说明

var rstTrace = { 
    x:    x_data,
    y:    y_data,
    mode: 'markers',
    type: 'scatter',
    marker: {
        size: 3,
        color: chartMarkerColor
    }
};
var rstLayout = {
        height: 400,
        title: {
            text: 'My Title',
            font: {
                family: 'Tahoma',
                size:   15
            }
        },
        xaxis: {
            showline:  true,
            zeroline:  false,
            linecolor: '#D3D3D3', // light gray
            tickcolor: '#D3D3D3'
        },
        yaxis: {
            showline:  true,
            zeroline:  false,
            linecolor: '#D3D3D3',
            tickcolor: '#D3D3D3'
        },
        backgroundcolor: '#D3D3D3'
};
Plotly.newPlot('resultDiv', [rstTrace], rstLayout);
Run Code Online (Sandbox Code Playgroud)

plotly.js

5
推荐指数
1
解决办法
2843
查看次数

Jupyter pandas.DataFrame输出表格式配置

默认情况下,在哪里可以配置Jupyter以使DataFrame对象显示为全边框表

现在看起来像这样:

在此处输入图片说明

我希望它看起来像: 在此处输入图片说明

python dataframe pandas jupyter-notebook

4
推荐指数
1
解决办法
3157
查看次数

pyspark: Method isBarrier([]) does not exist

I'm trying to learn Spark following some hello-word level example such as below, using pyspark. I got a "Method isBarrier([]) does not exist" error, full error included below the code.

from pyspark import SparkContext

if __name__ == '__main__':
    sc = SparkContext('local[6]', 'pySpark_pyCharm')
    rdd = sc.parallelize([1, 2, 3, 4, 5, 6, 7, 8])
    rdd.collect()
    rdd.count()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Although, when I start a pyspark session in command line directly and type in the same code, it works fine:

在此处输入图片说明

My setup:

  • windows 10 Pro …

python apache-spark pyspark

4
推荐指数
1
解决办法
845
查看次数

如何切片pandas.DatetimeIndex?

是什么让之间,比方说日期的最佳方式,'2019-01-08'并且'2019-01-16',从pandas.DatetimeIndex对象dti的构造下面?理想情况下,一些简洁的语法,如dti['2019-01-08':'2019-01-16']?

import pandas as pd
dti = pd.bdate_range(start='2019-01-01', end='2019-02-15')

DatetimeIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04',
               '2019-01-07', '2019-01-08', '2019-01-09', '2019-01-10',
               '2019-01-11', '2019-01-14', '2019-01-15', '2019-01-16',
               '2019-01-17', '2019-01-18', '2019-01-21', '2019-01-22',
               '2019-01-23', '2019-01-24', '2019-01-25', '2019-01-28',
               '2019-01-29', '2019-01-30', '2019-01-31', '2019-02-01',
               '2019-02-04', '2019-02-05', '2019-02-06', '2019-02-07',
               '2019-02-08', '2019-02-11', '2019-02-12', '2019-02-13',
               '2019-02-14', '2019-02-15'],
              dtype='datetime64[ns]', freq='B')
Run Code Online (Sandbox Code Playgroud)

datetime python-3.x pandas

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