小编MRo*_*lin的帖子

多处理和莳萝可以一起做什么?

我想multiprocessing在Python中使用该库.遗憾地multiprocessing使用pickle不支持闭包,lambdas或函数的函数__main__.所有这三个对我来说都很重要

In [1]: import pickle

In [2]: pickle.dumps(lambda x: x)
PicklingError: Can't pickle <function <lambda> at 0x23c0e60>: it's not found as __main__.<lambda>
Run Code Online (Sandbox Code Playgroud)

幸运的是,有dill一个更健壮的泡菜.显然dill在导入时执行魔术以使泡菜工作

In [3]: import dill

In [4]: pickle.dumps(lambda x: x)
Out[4]: "cdill.dill\n_load_type\np0\n(S'FunctionType'\np1 ...
Run Code Online (Sandbox Code Playgroud)

这非常令人鼓舞,特别是因为我无法访问多处理源代码.可悲的是,我仍然无法得到这个非常基本的例子

import multiprocessing as mp
import dill

p = mp.Pool(4)
print p.map(lambda x: x**2, range(10))
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我错过了什么?究竟是multiprocessing+ dill组合的限制是什么?

JF塞巴斯蒂安的临时编辑

mrockli@mrockli-notebook:~/workspace/toolz$ python testmp.py 
    Temporary Edit for J.F Sebastian

mrockli@mrockli-notebook:~/workspace/toolz$ python testmp.py 
Exception …
Run Code Online (Sandbox Code Playgroud)

python pickle multiprocessing dill

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

有效地选择与Pandas DataFrame中的多个值之一匹配的行

问题

给出Pandas DataFrame中的数据,如下所示:

Name     Amount
---------------
Alice       100
Bob          50
Charlie     200
Alice        30
Charlie      10
Run Code Online (Sandbox Code Playgroud)

我想选择Name集合中几个值之一的所有行{Alice, Bob}

Name     Amount
---------------
Alice       100
Bob          50
Alice        30
Run Code Online (Sandbox Code Playgroud)

在熊猫中这样做的有效方法是什么?

我看到的选项

  1. 循环遍历行,使用Python处理逻辑
  2. 选择并合并许多语句,如下所示

    merge(df[df.name = specific_name] for specific_name in names) # something like this
    
    Run Code Online (Sandbox Code Playgroud)
  3. 执行某种连接

这里的表现权衡是什么?何时一种解决方案比其他方案更好?我错过了哪些解决方案?

虽然上面的示例使用字符串,但我的实际作业在数百万行上使用10-100个整数的匹配,因此快速的NumPy操作可能是相关的.

python pandas

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

访问Julia中的命令行参数

当我输入

$ julia myprog.jl foo bar baz
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我可以去访问字符串"foo", "bar", "baz"吗?

我正在寻找Python的等价物 sys.argv

julia

32
推荐指数
3
解决办法
1万
查看次数

直接通过github Web应用程序将新文件上传到git存储库

可以通过Web界面直接编辑存储在github上的存储库中的文件.我们大多数人都不会这样做但它有其用途.

在github上编辑按钮

我教一门入门级课程.我想使用git和github进行作业分发和收集(github提供免费的私人教育帐户).但是我不能要求全新的学生学习git,至少在最初的几周内不会.我想说的最初几周

"你可以通过点击github.com上的这一系列按钮上传你的作业"

然后最终教他们如何使用命令行.

理想情况下,我希望他们能够上传新文件,而不仅仅是编辑现有文件.我找不到办法做到这一点.有没有人有任何使用github web界面的经验用于类似的目的?

git github

30
推荐指数
2
解决办法
4万
查看次数

sigma.js中的有向边 - 一个最小的例子

sigma.js中生成有向边需要什么?我正在寻找一个最小的例子,它最好是基于他们主页上当前的最小例子.

尝试

我尝试以下列方式调整sigma.js主页中的最小图形示例

  sigma.parsers.json('data.json', {
    container: 'container',
    settings: {
      defaultNodeColor: '#ec5148',
+     defaultEdgeArrow: 'source'  // adding this line should add arrows?
    }
  });
Run Code Online (Sandbox Code Playgroud)

可悲的是,这并没有产生不同的结果.

我也尝试修改图表本身的边缘

"edges": [
 {
    "id": "e0",
    "source": "n0",
    "target": "n1",
+   "arrow": "source"
 },
 ...,
 ]
Run Code Online (Sandbox Code Playgroud)

但这再次没有效果.

更复杂的例子

此拉取请求中添加了边缘箭头渲染.这链接到这里这里的几个例子

javascript sigma.js

27
推荐指数
1
解决办法
7705
查看次数

Pandoc中带有列的幻灯片

我希望在Beamer幻灯片中并排显示代码和图像.

在LaTeX中,我会用列做到这一点.我想在列结构中使用markdown.

\begin{columns}
\column{.5\textwidth}

~~~~~~~~Python
>>> some python code
~~~~~~~

\column{.5\textwidth}

![](A_generated_image.pdf)

\end{columns}
Run Code Online (Sandbox Code Playgroud)

不幸的是,Pandoc不处理\ begin {columns}和\ end {columns}语句中的markdown.有没有解决的办法?

  • 有没有办法在内联的LaTeX中使用markdown?
  • 有没有纯粹的降价解决方案?

markdown latex beamer pandoc

24
推荐指数
5
解决办法
8076
查看次数

从特定位置在Clojure中运行shell命令

我想阅读一个shell命令的输出.我想要读取的shell命令必须从特定位置运行.(它git log).

除了cd进入位置,运行(clojure.java.shell/sh "git log"),然后cd回到工作目录之外,还有一种很好的方法吗?

我正在寻找某种(shell-at directory command)功能.还将理解该功能的简单实现.我对Clojure的经验很少.

shell clojure

22
推荐指数
1
解决办法
2056
查看次数

Python包依赖树

我想分析Python包的依赖树.我如何获得这些数据?

我已经知道的事情

  1. setup.py有时包含一个requires列出包依赖关系的字段
  2. PyPi是Python包的在线存储库
  3. PyPi有一个API

我不知道的事情

  1. PyPi上很少有项目(大约10%)明确列出了requires字段中的依赖项,但pip/easy_install仍设法下载正确的软件包.我错过了什么?例如,对于统计计算的通俗图书馆,pandas,没有列出requires,但仍设法安装numpy,pytz等....有没有一种更好的方式来自动收集依赖性的完整列表?
  2. 某个地方是否有预先存在的数据库?我是否重复现有的工作?
  3. 是否有类似的,易于访问的数据库存在其他语言的分发系统(R,Clojure等...?)

python dependency-management pypi

21
推荐指数
1
解决办法
9095
查看次数

具有numpy的多元多项式回归

我有很多样本(y_i, (a_i, b_i, c_i)),y假设在a,b,c 多达一定程度上变化为多项式.例如,对于给定的一组数据和2级,我可能会生成该模型

y = a^2 + 2ab - 3cb + c^2 +.5ac

这可以使用最小二乘法完成,并且是numpy的polyfit例程的略微扩展.Python生态系统中是否存在标准实现?

python statistics regression numpy

20
推荐指数
2
解决办法
3万
查看次数

我可以将类型信息添加到Julia中的函数参数吗?

我可以将类型信息添加到函数的参数中吗?

请考虑以下示例:

function f{T} (func, x::Int)
    output = Dict{Int, Any}()
    output[x] = func(x)
    return output
end 
Run Code Online (Sandbox Code Playgroud)

我不喜欢我必须说Any的字典的值类型.我宁愿做以下事情:

function f{T} (func::Function{Int->T}, x::Int)
    output = Dict{Int, T}()
    output[x] = func(x)
    return output
end 
Run Code Online (Sandbox Code Playgroud)

我可以提供类似这样的函数的类型提示吗?我有点想说以下

f :: (Int -> T), Int -> Dict{Int, T}
Run Code Online (Sandbox Code Playgroud)

julia

20
推荐指数
1
解决办法
2650
查看次数