小编Joh*_*ier的帖子

在Jinja2中的zip(list1,list2)?

我在Jinja2中进行代码生成,我经常想要一起遍历两个列表(即变量名称和类型),是否有一种简单的方法可以执行此操作,还是只需要传递一个预压缩列表?我无法在文档或谷歌搜索中找到这样的功能.

python code-generation jinja2

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

来自字符串或包数据的pandas.read_csv

我在一个包中有一些csv文本数据,我想用read_csv读取.我是这样做的

from pkgutil import get_data
from StringIO import StringIO

data = read_csv(StringIO(get_data('package.subpackage', 'path/to/data.csv')))
Run Code Online (Sandbox Code Playgroud)

但是,StringIO.StringIO在Python 3中消失,而io.StringIO只接受Unicode.有一个简单的方法吗?

编辑:以下似乎不起作用

import pandas as pd

import pkgutil
from io import StringIO

def get_data_file(pkg, path):
    f = StringIO()
    contents = unicode(pkgutil.get_data('pymc.examples', 'data/wells.dat'))
    f.write(contents)
    return f

wells = get_data_file('pymc.examples', 'data/wells.dat')

data = pd.read_csv(wells, delimiter=' ', index_col='id',
                   dtype={'switch': np.int8})
Run Code Online (Sandbox Code Playgroud)

失败了

  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 401, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 209, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "/usr/local/lib/python2.7/dist-packages/pandas/io/parsers.py", line 509, in __init__
    self._make_engine(self.engine)
  File …
Run Code Online (Sandbox Code Playgroud)

python csv numpy python-3.x pandas

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

RRB树维持什么不变量?

宽松基数平衡树(RRB-trees)是不可变向量(在Clojure和Scala中使用)的推广,它具有"有效恒定"的索引和更新时间.RRB树保持有效的索引和更新,但也允许有效的连接(log n).

作者以我难以理解的方式呈现数据结构.我不太清楚每个节点维护的不变量.

在2.5节中,他们描述了他们的算法.我认为他们确保索引到节点只需要在基数搜索后进行线性搜索的额外步骤.我不明白他们是如何得出他们的额外步骤的公式,我想也许我不确定每个变量是什么意思(特别是"总共p个子树分支").

RRB树连接算法的工作原理是什么?

algorithm tree scala clojure data-structures

19
推荐指数
1
解决办法
2441
查看次数

在我的Sphinx文档中包含PDF的最佳方法是什么?

我有一个PDF,对于我所拥有的软件包的Sphinx文档中的示例有一些深入的解释.有没有办法在我的项目中轻松包含PDF(并在构建文档时将其复制)?我尝试使用:doc链接到它:但是这并没有复制它.

python documentation python-sphinx

14
推荐指数
1
解决办法
4464
查看次数

在pandas DataFrame列中存储多维数组

我希望使用pandas作为主要Trace(来自MCMC的参数空间中的一系列点)对象.

我有一个string-> array的dicts列表,我想在pandas中存储它.dicts中的键总是相同的,并且对于每个键,numpy数组的形状总是相同的,但是对于不同的键,形状可以是不同的,并且可以具有不同数量的维度.

我一直在使用self.append(dict_list, ignore_index = True)它似乎适用于1d值,但对于nd> 1值pandas将值存储为对象,不允许很好的绘图和其他好东西.关于如何改善行为的任何建议?

样本数据

point = {'x': array(-0.47652306228698005),
         'y': array([[-0.41809043],
                     [ 0.48407823]])}

points = 10 * [ point]
Run Code Online (Sandbox Code Playgroud)

我希望能够做类似的事情

df = DataFrame(points)
Run Code Online (Sandbox Code Playgroud)

要么

df = DataFrame()
df.append(points, ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

并有

>> df['x'][1].shape
()
>> df['y'][1].shape 
(2,1)
Run Code Online (Sandbox Code Playgroud)

python pandas

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

matplotlib中的点和线工具提示?

我有一个带有一些线段(LineCollection)和一些点的图表.这些线和点具有与其无关的一些与之关联的值.我希望能够添加鼠标悬停工具提示或其他方法,以便轻松找到点和线的关联值.这对点或线段是否可行?

matplotlib

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

实现二阶导数的自动微分:遍历计算图的算法?

我正在尝试为Python统计软件包实现自动区分(问题公式类似于优化问题公式).

计算图是使用运算符重载和工厂函数生成的,用于sum(),exp()等操作.我已经使用反向累加实现了梯度的自动微分.但是,我发现实现二阶导数(Hessian)的自动微分要困难得多.我知道如何进行单独的第二次部分梯度计算,但是我无法想出一种智能的方法来遍历图形并进行累积.有没有人知道那些为二阶导数或开源库提供自动微分算法的好文章,我可以尝试从中学习它们?

python math hessian-matrix

8
推荐指数
1
解决办法
2249
查看次数

如何让setup.py测试使用特定的fortran编译器?

我正在尝试测试包含一些f90文件的.如果我构建或安装并指定fortran编译器,它可以正常工作.但是,当我尝试测试时,我收到以下错误:

C:\Users\jsalvatier\workspace\scikits.bvp_solver>python setup.py config_fc --fcompiler=gfortran test
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running test
running egg_info
running build_src
build_src
building extension "scikits.bvp_solver.bvp_solverf" sources
f2py options: []
  adding 'build\src.win32-2.6\fortranobject.c' to sources.
  adding 'build\src.win32-2.6' to include_dirs.
  adding 'build\src.win32-2.6\scikits\bvp_solver\lib\bvp_solverf-f2pywrappers2.f90' to sources.
building data_files sources
build_src: building npy-pkg config files
writing scikits.bvp_solver.egg-info\PKG-INFO
writing namespace_packages to scikits.bvp_solver.egg-info\namespace_packages.txt
writing top-level names to scikits.bvp_solver.egg-info\top_level.txt
writing dependency_links to scikits.bvp_solver.egg-info\dependency_links.txt
reading manifest file 'scikits.bvp_solver.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'scikits.bvp_solver.egg-info\SOURCES.txt' …
Run Code Online (Sandbox Code Playgroud)

python fortran distutils setuptools

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

scala中元组的简单并行评估?

如果两个表达式e1和e2只处理不可变数据结构,那么并行计算元组(e1,e2)应该是简单的,只需要评估不同处理器上的两个表达式,不要担心任何交互,因为不应该'是任何.

Scala有很多不可变的数据结构,所以我希望有一种超级简单(写入)的方式来并行评估该元组.就像是

par_tuple : ( Unit -> T1) -> (Unit -> T2) -> (T1, t2)

它们并行计算两个函数,并在两个函数完成时返回.

不过,我还没有看到它.它存在吗?如果不是,你会怎么写呢?

parallel-processing concurrency scala

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

GUI线程中的异常导致vshost.exe崩溃

我认为我的Visual Studio 2008(.net 3.5)已损坏.

如果我在新解决方案中启动新的Windows窗体项目,请添加代码

double[] x = new double[2];
x[3] = -1.0;
Run Code Online (Sandbox Code Playgroud)

到form_load处理程序(或按钮处理程序),并尝试调试程序,它立即崩溃,而不是抛出异常,但实际上崩溃.

如果我在表单构造函数或Main中放入相同的代码,则会像正常情况一样抛出异常.

可能会发生什么想法?

.net c# crash debugging visual-studio

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

scala中的派生订单?

我偶尔会发现自己想要一个非常简单的订购[A]来订购一个没有订购的类.通常是元组或类的字段的投影.以下课程似乎一般都是这样做的

case object Ord { 
  case class DerivedOrdering[A,B](fn : B=>A)(implicit o : Ordering[A]) extends Ordering[B] { 
      def compare(a:B, b:B) = o.compare(fn(a), fn(b)) 
  }
}
Run Code Online (Sandbox Code Playgroud)

我没有在scala库中看到它.它在某处吗?

用法

Ord.DerivedOrdering[Int, (Int, List[Int])]( _._1)
Run Code Online (Sandbox Code Playgroud)

按整数排序(Int,List [Int])排序.

scala

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

pandas中值的唯一从零开始的id

我在DataFrame中有一些带有标识符列的数据.

data = DataFrame({'id' : [50,50,30,10,50,50,30]})
Run Code Online (Sandbox Code Playgroud)

对于每个唯一ID,我想提出一个新的唯一标识符.我希望id从0开始是连续整数.这是我到目前为止所拥有的:

unique = data[['id']].drop_duplicates()   
unique['group'] = np.arange(len(unique))
unique.set_index('id')
data = data.merge(unique, 'inner', on = 'id')
Run Code Online (Sandbox Code Playgroud)

这有效,但看起来有点脏.有没有更好的办法?

python pandas

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