我正在尝试显示一个图像,其标题将普通文本与几个 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以乳胶样式显示。我怎样才能做到这一点?
我使用 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) 我正在尝试完成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) 我正在尝试一个应用于 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之间。” 这是怎么回事?
我一直在尝试了解遮罩以及它如何与图像过滤器配合使用。我正在使用以下代码来尝试加深我的理解。
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 正是我需要的工作,但它不适用于蒙版图像。我可以使用什么来做与中值滤波器相同的事情,但哪个可以处理蒙版图像?
我用于数组的奇怪大小是因为这是我最终想要过滤的图像的大小。
如果我有一些我不知道的功能的测量数据(假设它不重要或计算上很难),例如
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来获得更平滑的曲线.但是如果我想要平滑曲线中的点 …
我和我的儿子正在尝试编写一个程序,允许用户输入一系列音符,并将它们保存到要播放的列表中。我们提出了以下方案:
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) 我写了一个小程序来计算每个元音在列表中出现的次数,但它没有返回正确的计数,我不明白为什么:
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 ×8
python-3.x ×3
list ×2
numpy ×2
scipy ×2
filter ×1
for-loop ×1
image ×1
latex ×1
mask ×1
matplotlib ×1
pyaudio ×1
scikit-image ×1
scikit-learn ×1
statsmodels ×1