小编ast*_*ris的帖子

python:sys未定义

我有一段代码在Linux中运行,我现在正试图在Windows中运行它,我导入sys但是当我使用sys.exit()时.我收到一个错误,sys没有定义.这是我的代码的开头部分

try:
    import numpy as np
    import pyfits as pf
    import scipy.ndimage as nd
    import pylab as pl
    import os
    import heapq
    import sys
    from scipy.optimize import leastsq

except ImportError:
    print "Error: missing one of the libraries (numpy, pyfits, scipy, matplotlib)"
    sys.exit()
Run Code Online (Sandbox Code Playgroud)

为什么sys不工作?

python sys

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

我需要一个numpy数组中的N个最小(索引)值

嗨,我有一个X值的数组,我想找到十个最小值的索引.在这个链接中,他们有效地计算了最大值,如何在numpy数组中获得N个最大值的索引? 但我不能评论链接,所以我不得不重新发布这个问题.

我不确定我需要改变哪些指数才能达到最小值而不是最大值.这是他们的代码

In [1]: import numpy as np

In [2]: arr = np.array([1, 3, 2, 4, 5])

In [3]: arr.argsort()[-3:][::-1]
Out[3]: array([4, 3, 1]) 
Run Code Online (Sandbox Code Playgroud)

python arrays numpy minimum

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

从一组数据python中将两个高斯拟合成直方图

我在python中有一组数据.我将其绘制为直方图,该图显示双峰分布,因此我试图在双峰中的每个峰上绘制两个高斯分布图.

如果我使用下面的代码,则需要我有两个相同大小的数据集.但是我只有一个数据集,这不能平分.我怎样才能适应这两位高斯人

from sklearn import mixture
import matplotlib.pyplot
import matplotlib.mlab
import numpy as np
clf = mixture.GMM(n_components=2, covariance_type='full')
clf.fit(yourdata)
m1, m2 = clf.means_
w1, w2 = clf.weights_
c1, c2 = clf.covars_
histdist = matplotlib.pyplot.hist(yourdata, 100, normed=True)
plotgauss1 = lambda x: plot(x,w1*matplotlib.mlab.normpdf(x,m1,np.sqrt(c1))[0], linewidth=3)
plotgauss2 = lambda x: plot(x,w2*matplotlib.mlab.normpdf(x,m2,np.sqrt(c2))[0], linewidth=3)
plotgauss1(histdist[1])
plotgauss2(histdist[1])
Run Code Online (Sandbox Code Playgroud)

python numpy scipy

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

使用python进行多项式回归

据我所知,多项式回归是一种特定类型的回归分析,它比线性回归更复杂.有没有python模块可以做到这一点?我看过matplotlib,scikitand numpy但只能找到线性回归分析.

并且可以计算出非线性线的相关系数?

python numpy scikit-learn

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

如何使我的pylab.poly1d(fit)通过零?

我的代码下面会在我的图表中生成一个点的polyfit,但是我希望这个适合总是通过零,我该怎么做?

import pylab as pl
import numpy as np

y=(abs((UX2-UY2)+(2*UXY)))
a=np.mean(y)
y=y-a
x=(abs((X2-Y2)+(2*XY)))
b=np.mean(x)
x=x-b
ax=pl.subplot(1,4,4) #plot XY
fit=pl.polyfit(x,y,1)
slope4, fit_fn=pl.poly1d(fit)
print slope4
fit_fn=pl.poly1d(fit)
x_min=-2
x_max=5
n=10000
x_fit = pl.linspace(x_min, x_max, n) 
y_fit = fit_fn(x_fit)
q=z=[-2,5]
scat=pl.plot(x,y, 'o', x_fit,y_fit, '-r', z, q, 'g' )
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib

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

在Python中将曲线拟合到数据集

我有一个带有两个数据集的图,它产生一个轻微的梯度,其中最佳拟合曲线可能是过度绘制的.

目前我只是设法得到最合适的直线.我理解scipy.optimize.curve_fit应该能够帮助我,但这需要我知道我想要过度绘制的功能(我认为).

以下是我的代码和图表.如何为这些数据集创建曲线图?

plt.figure(figsize=(15,6.6))
pl.subplot(1,2,1) 
plt.plot(gg,AA, 'kx')
plt.xlabel('x')
plt.ylabel('y')
plt.gca().invert_yaxis()
y=AA
x=gg
fit=pl.polyfit(x,y,1)
#slope, fit_fn=pl.poly1d(fit)
fit_fn=pl.poly1d(fit)
scat=pl.plot(x,y, 'kx', x,fit_fn(x), '-b' )


pl.subplot(1,2,2) 
pl.plot(LL,pp, 'kx')#shows points with no removal or bestfit
plt.gca().invert_yaxis()

plt.savefig('1.jpg')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我的情节左边的那条线条最合适的直线

应该注意的是,可能没有曲线,但我想发现是否有适合的曲线.

python numpy matplotlib scipy

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

如果列表超出某个值,则查找列表的标记.蟒蛇,numpy

我正在从文本文件中读取数组并希望消除某个值下的数据,但我也想知道它们在已删除值的数组中的位置,因此我可以使用它来删除其他数据.如果数据低于某个值,我的代码将删除数据但是如何找到已删除的数据的标记?

    y=np.genfromtxt('01_temp.txt').T[0]
    b=np.std(y)
    c=np.mean(y)
    low=c-b
    high=c+b
    x=[i for i in y if i>low]
    print x
Run Code Online (Sandbox Code Playgroud)

我认为波纹管代码也和上面一样

y=np.genfromtxt('01_temp.txt').T[0]
b=np.std(y)
c=np.mean(y)
low=c-b
high=c+b
ok=y>low
y[ok]=low
Run Code Online (Sandbox Code Playgroud)

如何找到超出我设定范围的值的索引?

例如,如果我的列表是[5,5,8,9,0,10,3]和低= 4我想返回下面的索引4,对于这种情况将是[4,6]

python numpy

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

如何对目录中的所有.dat文件执行命令

我希望能够为目录中的所有.dat文件执行这些简单的命令.所以它会打印出每个文件的所有最大值,我只是想弄清楚如何去做.

dr='/home/data/'
image='*.dat'
b=np.genfromtxt(dr+image).T[1] #luminsity

q=getmax(b)
print 'max b=', q
Run Code Online (Sandbox Code Playgroud)

python numpy

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

运行PCA分析matplotlib结果打印<matplotlib.mlab.PCA实例在0xffa4ee6c>

我正在尝试使用matplotlib函数对某些数据进行PCA分析,但是当我运行它并尝试打印结果时,会将其打印为结果

import numpy as np
import os
import matplotlib
from matplotlib.mlab import PCA




x=np.zeros((62,2))
a=np.genfromtxt('1.txt').T[3] #list 62numbers
#print a
x[:,0]=a
print x[:,0]
b=np.genfromtxt('2.txt').T[3] #list 4numbers
x[:,1]=b
#print x
results=PCA(x)

print results
Run Code Online (Sandbox Code Playgroud)

得到打印的结果是0xffa4ee6c上的matplotlib.mlab.PCA实例为什么会这样?

python numpy matplotlib

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

标签 统计

python ×9

numpy ×8

matplotlib ×3

scipy ×2

arrays ×1

minimum ×1

scikit-learn ×1

sys ×1