小编Ger*_*Ger的帖子

如何从jupyter笔记本中嵌入图像或图片,无论是从本地计算机还是从Web资源?

我想在jupyter笔记本中包含图像.

如果我做了以下,它的工作原理:

from IPython.display import Image
Image("img/picture.png")
Run Code Online (Sandbox Code Playgroud)

但我想将图像包含在markdown单元格中,以下代码给出了404错误:

![title]("img/picture.png")
Run Code Online (Sandbox Code Playgroud)

我也试过了

![texte]("http://localhost:8888/img/picture.png")
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误:

404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

python image jupyter jupyter-notebook

262
推荐指数
12
解决办法
34万
查看次数

如何使用sphinx首先链接到文件?

我正在撰写文档,我想包含pdf文件或zip档案的链接.如何使用第一语言和狮身人面像实现这一目标?

如果我这样做

here is a pdf file : `pdf <doc/mypdf.pdf>`_
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为在编译期间sphinx不复制doc目录的包含(我使用sphinx-quickstart生成的makefile).

相反,使用image指令:

.. image:: img/plop.png
Run Code Online (Sandbox Code Playgroud)

sphinx会在构建目录中复制plop.png图像.如何获得pdf或zip存档的相同行为?

restructuredtext python-sphinx

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

如何在一列上执行pandas groupby操作,但将另一列保留在结果数据帧中

我的问题是关于使用pandas进行groupby操作.我有以下DataFrame:

In [4]: df = pd.DataFrame({"A": range(4), "B": ["PO", "PO", "PA", "PA"], "C": ["Est", "Est", "West", "West"]})

In [5]: df
Out[5]: 
   A   B     C
0  0  PO   Est
1  1  PO   Est
2  2  PA  West
3  3  PA  West
Run Code Online (Sandbox Code Playgroud)

这就是我想要做的事情:我想按B列进行分组并对A列进行总结.但最后,我希望C列仍然在DataFrame中.如果我做 :

In [8]: df.groupby(by="B").aggregate(pd.np.sum)
Out[8]: 
    A
B    
PA  5
PO  1
Run Code Online (Sandbox Code Playgroud)

它完成了工作,但缺少C列.我也可以这样做:

In [9]: df.groupby(by=["B", "C"]).aggregate(pd.np.sum)
Out[9]: 
         A
B  C      
PA West  5
PO Est   1
Run Code Online (Sandbox Code Playgroud)

要么

In [11]: df.groupby(by=["B", "C"], as_index=False).aggregate(pd.np.sum)
Out[11]: 
    B     C  A
0  PA  West …
Run Code Online (Sandbox Code Playgroud)

python group-by dataframe pandas

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

如何选择与sphinx交叉引用中的文本使用?

使用sphinx,我使用以下语法包含了一个数字.

.. _struct_NiO:

.. figure:: img/NiO.png
   :align: center
   :width: 400px

   long long very long caption ...
Run Code Online (Sandbox Code Playgroud)

在我使用的文本的另一部分

See figure :ref:`struct_NiO` bla bla bla
Run Code Online (Sandbox Code Playgroud)

为了对图进行交叉引用.这项工作,但输出看起来像:

看图"长很长的标题......"bla bla bla.

这是狮身人面像的正常行为,但是如果你有一个有点复杂的数字有3或4行标题,它就没有真正适应.

是否可以选择交叉引用中使用的文本?

python-sphinx

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

如何从ODR结果计算标准误差?

我使用的scipy.odr是为了在这个问题上对x和y的不确定性进行拟合,使用scipy curve_fit进行正确拟合,包括x中的误差?

在拟合之后,我想计算参数的不确定性.因此,我查看协方差矩阵的对角元素的平方根.我明白了:

>>> print(np.sqrt(np.diag(output.cov_beta)))
[ 0.17516591  0.33020487  0.27856021]
Run Code Online (Sandbox Code Playgroud)

Output也有output.sd_beta是,根据上ODR DOC

形状(p,)的估计参数的标准误差.

但是,它没有给我相同的结果:

>>> print(output.sd_beta)
[ 0.19705029  0.37145907  0.31336217]
Run Code Online (Sandbox Code Playgroud)

编辑

这是笔记本上的一个例子:https://nbviewer.jupyter.org/github/gvallverdu/cookbook/blob/master/fit_odr.ipynb

至少方形

stop reason: ['Sum of squares convergence']
        params: [ -1.94792946  11.03369235  -5.43265555]
          info: 1
       sd_beta: [ 0.26176284  0.49877962  0.35510071]
sqrt(diag(cov): [ 0.25066236  0.47762805  0.34004208]
Run Code Online (Sandbox Code Playgroud)

使用ODR

stop reason: ['Sum of squares convergence']
        params: [-1.93538595  6.141885   -3.80784384]
          info: 1
       sd_beta: [ 0.6941821   0.88909997  0.17292514]
sqrt(diag(cov): [ 0.01093697  0.01400794  0.00272447]
Run Code Online (Sandbox Code Playgroud)

python regression numpy curve-fitting scipy

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

autodoc 和明确指定的实例属性的问题

我写了一个 python 类,并用 sphinx 制作了文档。例如,该类如下所示:

class Aclass(object):
    """ my class """

    def __init__(self):
        """ constructor """

        self.a = None
        """ doc for attribute a """

        self._prop = None

    def _get_prop(self):
        """ getter prop """
        return self._prop

    def _set_prop(self, val):
        """ setter prop """
        self._prop = val

    prop = property(_get_prop, _set_prop)
    """ a property """

    def square(self):
        """ return square of a """
        return self.a**2
Run Code Online (Sandbox Code Playgroud)

现在,为了做文档,我在第一个文件中写道:

.. autoclass:: aclass.Aclass
   :members:
Run Code Online (Sandbox Code Playgroud)

它的一切OK,并且apropsquare出现在文档。

在此处输入图片说明

但是如果我尝试分别记录属性和方法,sphinx 会说它无法找到属性 a 但它适用于 …

python python-sphinx autodoc

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

使用matplotlib和imshow平滑2D直方图

我尝试做一个2D直方图,并通过一种插值获得"平滑"的图像.因此,我做了以下组合plt.hist2dplt.imshow

import matplotlib.pyplot as plt
import numpy as np

data = np.loadtxt("parametre_optMC.dat", skiprows=50, usecols=(1,2))

h, x, y, p = plt.hist2d(data[:,0], data[:,1], bins = 20)
plt.imshow(h, origin = "lower", interpolation = "gaussian")
plt.savefig("test.pdf")
Run Code Online (Sandbox Code Playgroud)

正如您在下面的图片中看到的那样,这两个图是叠加的,这是我需要帮助的问题

在此输入图像描述

添加clf有效,但我失去了轴尺寸:

import matplotlib.pyplot as plt
import numpy as np

data = np.loadtxt("parametre_optMC.dat", skiprows=50, usecols=(1,2))

h, x, y, p = plt.hist2d(data[:,0], data[:,1], bins = 20)
plt.clf()
plt.imshow(h, origin = "lower", interpolation = "gaussian")
plt.savefig("test.pdf")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python numpy matplotlib histogram

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

如何使用pathlib从当前路径的一部分制作新的Path对象?

我想使用更改Path对象的一部分pathlib

例如,如果您有一个Path对象:

import pathlib
path = pathlib.Path("/home/user/to/some/floder/toto.out")
Run Code Online (Sandbox Code Playgroud)

如何更改文件名?并举例说明获得一条新的道路"/home/user/to/some/folder/other_file.dat"

或更笼统地说,我可以更改该路径的一个或几个元素吗?

我可以得到parts的路径:

In [1]: path.parts
Out[1]: ('/', 'home', 'user', 'to', 'some', 'floder', 'toto.out')
Run Code Online (Sandbox Code Playgroud)

因此,一种解决方法是先连接所需的部分,创建新的字符串,然后创建新的路径,但是我想知道是否有更方便的工具来执行此操作。

编辑

更确切地说,它是否存在与path.name返回路径的补充部分等效的功能:str(path).replace(path.name, "")

python pathlib

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

Seaborn,每列一个数据的小提琴情节

我想把这个小提琴情节http://seaborn.pydata.org/generated/seaborn.violinplot.html(第四个例子,带有split = True)与这个http://seaborn.pydata.org/examples/elaborate_violinplot结合起来. HTML.

实际上,我有一个带有列Success(是或否)和几个数据列的dataFrame .例如 :

df = pd.DataFrame(
    {"Success": 50 * ["Yes"] + 50 * ["No"], 
     "A": np.random.randint(1, 7, 100), 
     "B": np.random.randint(1, 7, 100)}
)

    A  B Success
0   6  4     Yes
1   6  2     Yes
2   1  1     Yes
3   1  2     Yes
.. .. ..     ...
95  4  4      No
96  2  1      No
97  2  6      No
98  2  3      No
99  2  1      No
Run Code Online (Sandbox Code Playgroud)

我想为每个数据列绘制一个小提琴图.它适用于:

import seaborn as …
Run Code Online (Sandbox Code Playgroud)

python seaborn

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

如何使用Seaborn在同一张图上绘制两个小提琴图系列?

查阅有关seaborn的violon 的文档,我想知道如何在同一轴上绘制两个系列的小提琴图(点1),并且它们是可比较的(点2)。

关于第1点,我想复制每种性别的情节:

fig, ax = plt.subplots()
sns.violinplot(x="day", y="total_bill", hue="smoker",
                    data=tips, split=True, ax=ax)
Run Code Online (Sandbox Code Playgroud)

我可以在两个子图上做到这一点:

fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(211)
sns.violinplot(x="day", y="total_bill", hue="smoker",
               data=tips[tips.sex == "Female"], split=True, ax=ax)

ax = fig.add_subplot(212)
sns.violinplot(x="day", y="total_bill", hue="smoker",
               data=tips[tips.sex == "Male"], split=True, ax=ax)
Run Code Online (Sandbox Code Playgroud)

我想在相同的matplotlib轴上绘制两个小提琴图系列。

另一点是关于小提琴图的宽度。我不清楚小提琴是否已标准化以及如何标准化?我假设宽度是为每个图计算的。在上面的示例中,为第一个子图计算了女性的宽度,为第二个子图计算了男性的宽度。因此,我可以直接比较密度吗?我想我可以比较这些形状,但是,例如,我不能比较星期一的男性吸烟者和女性的吸烟者数量?有没有办法管理小提琴的标准化?

python matplotlib seaborn violin-plot

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