小编bmu*_*bmu的帖子

如何使用sphinx为每个模块生成一个页面

我们正在使用Sphinx生成我们的Python文档.

这是我们使用的命令行:

sphinx-apidoc -F -o %WORKSPACE%\docs_rst %PACKAGE%

sphinx-build -b html %WORKSPACE%\docs_rst %WORKSPACE%\docs
Run Code Online (Sandbox Code Playgroud)

问题是我们每个包得到一页.我们真正需要的是每个模块一页,否则页面会变得太长.

我该如何设置呢?

python-sphinx

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

Sphinx LaTeX标记限制

我想在Sphinx(版本1.1.2-1)中的多行数学模式中做三个非常基本的事情.

  1. 即使在数学模式下,也要将下划线写为变量名称的一部分;
  2. 使用\big,\biggl等等,分隔符,使大括号和括号;
  3. 并包括常规文本作为方程的一部分.

请注意以下两点.(1)我在Python代码中使用原始字符串作为Sphinx-markup文档,因此转义字符不需要额外的反斜杠,(2)我没有进行内联数学模式,它在Sphinx中以这样的方式分隔:

:math:`Some math stuff goes here` regular text could go here...
Run Code Online (Sandbox Code Playgroud)

相反,我正在做多行的事情,通常像eqnarray在LaTeX中一样:

.. math::
    DividendYield &=& \frac{DVT(t)}{CurrentMarketCap} \\
    Avg_Assets &=& \biggl( A/B \biggr) \textrm { when B is not zero...}
Run Code Online (Sandbox Code Playgroud)

目前,我得到Sphinx错误(生成的doc页面看起来像乱码),这些说法如下:

Unknown LaTeX command: textrm
Run Code Online (Sandbox Code Playgroud)

同样的事情发生了\biggl.对于下划线,它总是将其解释为我表示下标,但如果我使用\textunderscore或其他技巧,那么它会抛出与上面相同类型的错误.

数学模式下的下划线,textrm命令和大分隔符是我曾经使用的每个本机TeX包的极其基本的部分.那么为什么通过Sphinx无法进入?

更新

我正在处理的一个特定Python文件为我计算了Book Equity数据.所以下面,当你看到关于BookEquity的东西时,那就是参考.除了通过版本控制系统,我无法运行我们的构建文档进程,因此如果我只是修改现有文件,那么制作可重现的错误是最简单的.

但是,我所做的只是在我的代码中添加以下类函数,并使用简单的文档字符串.

def foo(self):
    r"""
    Sample docstring

    .. math::
        Ax &=& b \\
        Cx &=& \biggl(\frac{x/y}\biggr) \textrm{ if y is not zero.}
    """
    pass
Run Code Online (Sandbox Code Playgroud)

然后下面的图像是使用Sphinx …

python documentation latex python-sphinx

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

Python底图立体图

我想在立体地图上显示一些值(在这种情况下是南极(spstere)).如果我在圆柱形地图(cyl)上显示它们一切都很好:

m = Basemap(projection='cyl',llcrnrlon=-180,llcrnrlat=-90,urcrnrlon=180,urcrnrlat=90,resolution='i') 
CS = m.scatter(lon2,lat2,c=BT2,edgecolors='none',s=sz,cmap='gray')
Run Code Online (Sandbox Code Playgroud)

现在我想在南极立体地图上使用相同的值,但我无法让它工作:

m = Basemap(projection='spstere',boundinglat=-10,lon_0=180,resolution='c')
CS = m.scatter(lon2,lat2,c=BT2,edgecolors='none',s=sz,cmap='gray')
Run Code Online (Sandbox Code Playgroud)

我做什么我只能画大陆,但没有数据.

python matplotlib matplotlib-basemap

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

如何使用数据类型(datetime,float)进行numpy重新排列?

假设我有一些简单的数据

y = [[datetime.datetime( 2012,1,1,1,1), 2.1], 
     [datetime.datetime( 2012,1,1,1,2), -3.1],
     [datetime.datetime( 2012,1,1,1,3), 0.1]]
Run Code Online (Sandbox Code Playgroud)

我想要一个与之对应的numpy记录数组.看起来我应该能够做到这一点:

np.rec.array( y, dtype=[('timestamp', object),('x','f')] )
Run Code Online (Sandbox Code Playgroud)

或这个

np.rec.array( y, dtype=[('timestamp', '|O8'),('x','f')] )
Run Code Online (Sandbox Code Playgroud)

或许这个

np.rec.array( y, dtype=[('timestamp', 'V'),('x','f')] )
Run Code Online (Sandbox Code Playgroud)

但他们每个人都会返回一个错误

ValueError: Setting void-array with object members using buffer.
Run Code Online (Sandbox Code Playgroud)

要么

TypeError: expected a readable buffer object
Run Code Online (Sandbox Code Playgroud)

那么假设它甚至可能,我怎么能设置它呢?

python numpy recarray

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

Matplotlib底图:弹出框

我想知道如何在底图中创建一个弹出框.当我将鼠标悬停在某个位置时,它应该会触发弹出框.

这可能吗?

python events popup matplotlib matplotlib-basemap

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

在Python中处理大量数据

我一直在尝试处理大量数据(几GB),但我的个人计算机拒绝在合理的时间内完成,所以我想知道我有哪些选项?我使用的是python的csv.reader,但即使拿到 200,000行也很慢.然后我将这些数据迁移到一个sqlite数据库,该数据库检索结果的速度更快,而且没有使用如此多的内存但速度仍然是一个主要问题.

那么,再次......我有什么选择来处理这些数据?我想知道如何使用亚马逊的现场实例,这些实例似乎对此类目的有用,但也许还有其他解决方案可供探索.

假设现场实例是一个不错的选择,考虑到我之前从未使用它们,我想问一下我对它们的期望是什么?有没有人有经验使用它们做这种事情?如果是这样,您的工作流程是什么?我想我可以找到一些博客文章,详细介绍科学计算,图像处理等工作流程,但我没有找到任何东西,如果你能解释一下或者指出一些链接,我会很感激.

提前致谢.

python csv machine-learning scientific-computing amazon-ec2

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

Python:使用索引列表对列表进行切片的有效方法

我希望知道一种有效的方法和代码保存来切割数千个元素的列表

例:

b = ["a","b","c","d","e","f","g","h"] 
index = [1,3,6,7] 
Run Code Online (Sandbox Code Playgroud)

我希望得到如下结果:

c = ["b","d","g","h"] 
Run Code Online (Sandbox Code Playgroud)

python indexing performance list slice

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

如何在matplotlib中进行3D革命?

假设您有一条2D曲线,例如:

from matplotlib import pylab
t = numpy.linspace(-1, 1, 21)
z = -t**2
pylab.plot(t, z)
Run Code Online (Sandbox Code Playgroud)

哪个产生

http://i.imgur.com/feQzk.png

我想进行一场革命以获得一个3d图(见http://reference.wolfram.com/mathematica/ref/RevolutionPlot3D.html).绘制3d表面不是问题,但它不会产生我期望的结果:

http://i.imgur.com/ljXHQ.png

如何在3d图中执行此蓝色曲线的旋转?

python numpy matplotlib

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

使用intersphinx解决Sphinx中引用中的名称冲突

我正在为我的python库编写文档使用sphinx,我还在intersphinx中添加了另一个sphinx文档.并且它的工作非常好,但是我的一些函数的命名与引用的文档中的命名相同,这会导致为:func:...引用隐藏它们的名称.

有什么方法可以do_some()在其他文档中引用阴影函数吗?(:func:`do_some`创建我的功能的链接do_some())

python documentation python-sphinx

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

使用放大设置DataFrame值

我有两个DataFrames(有DatetimeIndex)并想要用第二帧(较新的帧)中的数据更新第一帧(较旧的帧).

新帧可能包含旧帧中已包含的行的更新近数据.在这种情况下,旧帧中的数据应该被来自新帧的数据覆盖.此外,较新的帧可能具有比第一个更多的列/行.在这种情况下,旧帧应该被新帧中的数据放大.

熊猫文档说,那

" .loc/.ix/[]当为该轴设置不存在的键时,操作可以执行放大"

"可以通过任意一个轴放大DataFrame .loc"

然而,这似乎不起作用,并抛出一个KeyError.例:

In [195]: df1
Out[195]: 
                     A  B  C
2015-07-09 12:00:00  1  1  1
2015-07-09 13:00:00  1  1  1
2015-07-09 14:00:00  1  1  1
2015-07-09 15:00:00  1  1  1

In [196]: df2
Out[196]: 
                     A  B  C  D
2015-07-09 14:00:00  2  2  2  2
2015-07-09 15:00:00  2  2  2  2
2015-07-09 16:00:00  2  2  2  2
2015-07-09 17:00:00  2  2  2  2

In [197]: …
Run Code Online (Sandbox Code Playgroud)

python pandas

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