小编alo*_*oha的帖子

在jupyter笔记本中崩溃细胞

我正在使用ipython Jupyter笔记本.假设我定义了一个在屏幕上占用大量空间的函数.有没有办法折叠细胞?

我希望函数保持执行和可调用,但我想隐藏/折叠单元格以便更好地可视化笔记本.我怎样才能做到这一点?

python ipython ipython-notebook jupyter

111
推荐指数
9
解决办法
8万
查看次数

将笔记本导出为pdf,无需代码

我有一个带有大量数字和文字的大笔记本.我想将其转换为html文件.但是,我不想导出代码.我使用以下命令

ipython nbconvert --to html notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

但是这个选项也会导出代码.有没有办法将笔记本转换为没有代码的HTML?

python ipython-notebook jupyter-notebook nbconvert

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

使用matplotlib将图表保存为pdf文件

我想将超过1个绘图保存到pdf文件中.这是我的代码:

import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

def function_plot(X,Y):
    plt.figure()
    plt.clf()

    pp = PdfPages('test.pdf')

    graph = plt.title('y vs x')
    plt.xlabel('x axis', fontsize = 13)
    plt.ylabel('y axis', fontsize = 13)
    pp.savefig(graph)


function_plot(x1,y1)
function_plot(x2,y2)
Run Code Online (Sandbox Code Playgroud)

我知道我的想法很乱,但我找不到编写代码的方法.问题是我需要我的图形标记x和y轴.

python matplotlib pdfpages

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

如果不使用python创建文件夹,如何检查目录中是否存在文件夹

我使用下面的 python 脚本来检查root我的 ftp 服务器上是否存在文件。

from ftplib import FTP 
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'password')

folderName = 'foldername'

if folderName in ftp.nlst() :
    print 'YES'
else : print 'NO'
Run Code Online (Sandbox Code Playgroud)

如何修改上述脚本以查看特定文件夹而不是root目录?

例如,我想查看目录中是否foo存在名为的文件夹名称www

goal我的问题,是看该文件夹foo里面存在的www目录,如果是打印cool!如果没有创建一个名为fooinside的文件夹www

python ftp lookup subdirectory create-directory

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

将分布拟合到直方图

我想知道我的数据点的分布,所以首先我绘制了我的数据的直方图.我的直方图如下所示: 我的直方图

其次,为了使它们适合分布,这里是我写的代码:

size = 20000
x = scipy.arange(size)
# fit
param = scipy.stats.gamma.fit(y)
pdf_fitted = scipy.stats.gamma.pdf(x, *param[:-2], loc = param[-2], scale = param[-1]) * size
plt.plot(pdf_fitted, color = 'r')

# plot the histogram
plt.hist(y)

plt.xlim(0, 0.3)
plt.show()
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

我究竟做错了什么?

python scipy data-fitting

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

如何解决python中的3个非线性方程

我有以下需要解决的3个非线性方程组:

-xyt + HF = 0

-2xzt + 4yzt - xyt + 4z ^ 2t - M1F = 0

-2xt + 2yt + 4zt - 1 = 0

其中x,HF和M1F是已知参数.因此,y,z和t是要计算的参数.

尝试解决问题:

def equations(p):
    y,z,t = p
    f1 = -x*y*t + HF
    f2 = -2*x*z*t + 4*y*z*t - x*y*t + 4*t*z**2 - M1F
    f3 = -2*x*t + 2*y*t + 4*z*t - 1
    return (f1,f2,f3)

y,z,t = fsolve(equations)

print equations((y,z,t))
Run Code Online (Sandbox Code Playgroud)

但问题是如果我想使用scipy.optimize.fsolve那么我应该输入一个初始猜测.就我而言,我没有任何初始条件.

还有另一种方法可以解决3个在python中有3个未知数的非线性方程吗?

编辑:

原来我有条件!条件是HF> M1F,HF> 0,M1F> 0.

optimization numpy scipy nonlinear-optimization python-2.7

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

显示具有非常不均匀的箱宽度的直方图

这是直方图 在此输入图像描述

为了生成这个图,我做了:

bins = np.array([0.03, 0.3, 2, 100])
plt.hist(m, bins = bins, weights=np.zeros_like(m) + 1. / m.size)
Run Code Online (Sandbox Code Playgroud)

但是,正如您所注意到的,我想绘制每个数据点的相对频率的直方图,只有3个不同大小的区间:

bin1 = 0.03 - > 0.3

bin2 = 0.3 - > 2

bin3 = 2 - > 100

直方图看起来很丑,因为最后一个bin的大小相对于其他bin非常大.如何修复直方图?我想改变箱子的宽度,但我不想改变每个箱子的范围.

python matplotlib histogram

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

使用 bash 用空格替换连字符

我正在读取包含以下数据的文件名:

2017-03-23
2018-01-23
2017-07-31
Run Code Online (Sandbox Code Playgroud)

我想阅读每一行并用空格替换连字符。鉴于上面的例子,我应该得到以下信息:

2017 03 23
2018 01 23
2017 07 31
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#!/bin/sh

filename=extract_dates.dat
line=1
totline=`wc -l < $filename`

while [ $line -le $totline ]
do
    date=`sed -n -e ''"$line"'p' $filename | awk '{print $line}'`
    echo $date
    test=`sed 's/([0-9])-([0-9])/\1\2/g' $date`
    echo $test
    line=`expr $line + 1`
done
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

sed: 1: "s/([0-9])-([0-9])/\1\2/g": \1 not defined in the RE
Run Code Online (Sandbox Code Playgroud)

regex bash sed

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

检索y轴截距的标准偏差

polyfit用来使我的数据符合一条线.线的方程是形式的y = mx + b.我试图检索斜率上的误差和y截距的误差.这是我的代码:

fit, res, _, _, _ = np.polyfit(X,Y,1, full = True)
Run Code Online (Sandbox Code Playgroud)

此方法返回残差.但我不想要残留物.所以这是我使用的另一种方法:

slope, intercept, r_value, p_value, std_err = stats.linregress(X,Y)
Run Code Online (Sandbox Code Playgroud)

我知道std_err在斜率上返回错误.我仍然需要得到y截距的标准偏差.我怎样才能做到这一点?

python statistics linear-regression

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

如何删除空格并在python打印功能中包含'{'

我想打印一个包含的字符串,{我想删除其他空格.例如:

print 'Value is {', value, '}'
Run Code Online (Sandbox Code Playgroud)

输出将是:

Value is { 42 }
Run Code Online (Sandbox Code Playgroud)

但我想要:

Value is {42}
Run Code Online (Sandbox Code Playgroud)

我试过了

print 'Value is {{}}'.format(value)
Run Code Online (Sandbox Code Playgroud)

我得到了:

Value is {}
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

python whitespace

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

当 x 很小时 np.exp(x)

我尝试了以下方法:

\n\n
import  numpy as np\n\nx = -1.20831312e+05\nprint np.exp(x)     # answer: x = 0.0\nprint np.expm1(x)   # answer: x = -1.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

根据沃尔夫勒姆的说法,应该是4.24578... \xc3\x97 10^-52477。我该如何解决这个问题?我需要比较np.exp(x)的小值x

\n

python numpy exp

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

如何在re中替换多个模式

我有以下字符串:

a = 'P/2008 A3 (SOHO)'
Run Code Online (Sandbox Code Playgroud)

我想将其更改为:

a = 'P/2008-A3-SOHO'
Run Code Online (Sandbox Code Playgroud)

尝试解决问题:

步骤1:

b = re.sub("\s", "-", a)
print b
Run Code Online (Sandbox Code Playgroud)

输出:

P/2008-A3-(SOHO)
Run Code Online (Sandbox Code Playgroud)

第2步:

c = re.sub("[\(\)]", "", b)
print c
Run Code Online (Sandbox Code Playgroud)

输出:

P/2008-A3-SOHO
Run Code Online (Sandbox Code Playgroud)

我得到了我需要的输出,但是有更有效的方法吗?我想一步解决它.

python regex string

0
推荐指数
1
解决办法
54
查看次数

Bash函数不能返回大数

我写了以下bash脚本:

function getqsubnumber {
# Return how many simulations ($qsubnumber) are currently running

qsubnumber=`qstat | grep p00 | wc -l`

return $qsubnumber
}


getqsubnumber
qs=$?

if [ $qs -le $X ]
    then
        echo 'Running one more simulation'
        $cmd # submit one more job to the cluster
else
    echo 'Too many simulations running ... Sleeping for 2 min'
    sleep 120
Run Code Online (Sandbox Code Playgroud)

我的想法是我在集群上提交工作.如果有多个X作业同时运行,我想等待2分钟.

该代码适用于X=50X=200.由于某些未知原因,它不起作用X=400.知道为什么吗?该脚本永远不会等待2分钟,它会继续提交作业.

linux bash shell terminal cluster-computing

0
推荐指数
1
解决办法
405
查看次数