小编Jim*_*616的帖子

matplotlib 标题中的乳胶和文本

我正在尝试显示一个图像,其标题将普通文本与几个 Latex 命令相结合:

plt.imshow(w1subtracted2, origin='lower',
          extent=[l_max, -l_max, -b_max, b_max],
          cmap = color_map)
plt.title('W1 disk and central $\pm2\textdegree$ subtracted', fontsize = 'small')
plt.xlabel(xlabel, fontsize = 'small')
plt.ylabel(ylabel, fontsize = 'small')
plt.savefig('w1subtracted2.png')
Run Code Online (Sandbox Code Playgroud)

但我无法获得显示\pm和的标题\textdegree以乳胶样式显示。我怎样才能做到这一点?

python latex matplotlib

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

访问 statsmodels 中的各个参数

我使用 statsmodels.api 检查不同变量组合的统计参数。您可以使用print(results.summary())来获取

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.454
Model:                            OLS   Adj. R-squared:                  0.454
Method:                 Least Squares   F-statistic:                     9694.
Date:                Mon, 30 Jul 2018   Prob (F-statistic):               0.00
Time:                        10:14:47   Log-Likelihood:                -9844.7
No. Observations:               11663   AIC:                         1.969e+04
Df Residuals:                   11662   BIC:                         1.970e+04
Df Model:                           1                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
x1            -1.4477      0.015    -98.460      0.000      -1.477      -1.419
==============================================================================
Omnibus:                     1469.705   Durbin-Watson:                   1.053
Prob(Omnibus):                  0.000   Jarque-Bera (JB):             2504.774
Skew:                           0.855 …
Run Code Online (Sandbox Code Playgroud)

python python-3.x statsmodels

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

sklearn.preprocessing.StandardScaler ValueError:预期为 2D 数组,却得到了 1D 数组

我正在尝试完成http://www.semspirit.com/artificial-intelligence/machine-learning/regression/support-vector-regression/support-vector-regression-in-python/上的教程 ,但没有 csv文件包含在内,所以我使用自己的数据。这是到目前为止的代码:

import numpy as np
import pandas as pd
from matplotlib import cm
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from scipy import stats

# Here's where I import my data; there's no csv file included in the tutorial
import quasar_functions as qf
dataset, datasetname, mags = qf.loaddata('sdss12')

S = np.asarray(dataset[mags])
t = np.asarray(dataset['z'])
t.reshape(-1,1)

# Feature scaling
from sklearn.preprocessing import StandardScaler as scale
sc_S = scale()
sc_t = scale()
S2 = sc_S.fit_transform(S) …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn

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

ValueError:float 类型的图像必须介于 -1 和 1 之间

我正在尝试一个应用于 fits 文件的简单磁盘过滤器:

from skimage.morphology import disk
from skimage.filters.rank import median
import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits

#    Open data files for image and mask
hdulist = fits.open('xbulge-w1.fits')
w1data = hdulist[0].data

hdulistmask = fits.open('xbulge-mask.fits')
maskdata = hdulistmask[0].data
mask = 1 - maskdata

w1_masked = np.ma.array(w1data, mask = mask)
selem = disk(5)
filt = median(w1_masked,
                            selem=disk(5),
                            out=None,
                            mask=mask)

plt.imshow(filt)
plt.show()
Run Code Online (Sandbox Code Playgroud)

但这给了我一个“ValueError:float类型的图像必须在-1和1之间。” 这是怎么回事?

python filter scikit-image

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

试图理解掩蔽

我一直在尝试了解遮罩以及它如何与图像过滤器配合使用。我正在使用以下代码来尝试加深我的理解。

import scipy.ndimage as ndi
import matplotlib.pyplot as plt
import numpy as np

#   Generate a random binary mask
np.random.seed(seed=182)
mask = np.random.randint(2, size=(901, 877))

img = np.random.rand(901, 877)

img_masked = np.ma.masked_array(img, mask = mask)
img_masked_filtered = ndi.median_filter(img_masked, size=10)
img_unmasked_filtered = ndi.median_filter(img, size=10)

median_masked = np.ma.median(img_masked)
median_unmasked = np.ma.median(img)
Run Code Online (Sandbox Code Playgroud)

在结果中,如我所料,median_unmasked != medium_masked,但我不想要 img_masked_filtered == img_unmasked_filtered。scipy.ndimage.median_filter 正是我需要的工作,但它不适用于蒙版图像。我可以使用什么来做与中值滤波器相同的事情,但哪个可以处理蒙版图像?

我用于数组的奇怪大小是因为这是我最终想要过滤的图像的大小。

python numpy image mask scipy

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

试图理解scipy和numpy插值

如果我有一些我不知道的功能的测量数据(假设它不重要或计算上很难),例如

x2 = [0, 1, 10, 25, 30]
y2 = [5, 12, 50, 73, 23]
Run Code Online (Sandbox Code Playgroud)

我用它numpy.interp来找到中间值,它给出了点之间的线性插值,我得到了一条直线:

xinterp = np.arange(31)
yinterp1 = np.interp(xinterp, x2, y2)
plt.scatter(xinterp, yinterp1)
plt.plot(x2, y2, color = 'red', marker = '.')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

scipy.interpolate文档中的示例给出了

x = np.linspace(0, 10, num=11, endpoint=True)
y = np.cos(-x**2/9.0)
f = interp1d(x, y)
f2 = interp1d(x, y, kind='cubic')
xnew = np.linspace(0, 10, num=41, endpoint=True)
plt.plot(x, y, 'o', xnew, f(xnew), '-', xnew, f2(xnew), '--')
plt.legend(['data', 'linear', 'cubic'], loc='best')
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

使用不同kind的插值s来获得更平滑的曲线.但是如果我想要平滑曲线中的点 …

python interpolation numpy list scipy

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

输入一系列音符并播放它们

我和我的儿子正在尝试编写一个程序,允许用户输入一系列音符,并将它们保存到要播放的列表中。我们提出了以下方案:

import math        #import needed modules
import pyaudio     #sudo apt-get install python-pyaudio

def playnote(char):
    octave = int(char[1])
    if char[0] == 'c':
        frequency = 16.35*octave+1
    elif char[0] =='C':
        frequency = 17.32*octave+1
    elif char[0] =='d':
        frequency = 18.35*octave+1
    elif char[0] == 'D':
        frequency = 19.45*octave+1
    elif char[0] =='e':
        frequency = 20.6*octave+1
    elif char[0] == 'f':
        frequency = 21.83*octave+1
    elif char[0] =='F':
        frequency = 23.12*octave+1
    elif char[0] == 'g':
        frequency = 24.5*octave+1
    elif char[0] == 'G':
        frequency = 25.96*octave+1
    elif char[0] == 'a': …
Run Code Online (Sandbox Code Playgroud)

python pyaudio python-3.x

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

计算每个元音出现的次数

我写了一个小程序来计算每个元音在列表中出现的次数,但它没有返回正确的计数,我不明白为什么:

vowels = ['a', 'e', 'i', 'o', 'u']
vowelCounts = [aCount, eCount, iCount, oCount, uCount] = (0,0,0,0,0)
wordlist = ['big', 'cats', 'like', 'really']

for word in wordlist:
    for letter in word:
        if letter == 'a':
            aCount += 1
        if letter == 'e':
            eCount += 1
        if letter == 'i':
            iCount += 1
        if letter == 'o':
            oCount += 1
        if letter == 'u':
            uCount += 1
for vowel, count in zip(vowels, vowelCounts):
    print('"{0}" occurs {1} times.'.format(vowel, count))
Run Code Online (Sandbox Code Playgroud)

输出是

"a" occurs …
Run Code Online (Sandbox Code Playgroud)

python for-loop list python-3.x

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