对Scipy来说是新的
我已经安装了scipy和numpy,但是在运行scipy.test()时,我发现很多测试都失败了。
我试图找到一些共同的原因,我发现了几个:
>>> import scipy
>>> scipy.test()
Running unit tests for scipy
NumPy version 1.6.2
NumPy is installed in /opt/local/Library/Frameworks/Python.framewo
我是一个新的opencv,我遇到了麻烦。
我有一个np.array颜色,我想将np.array颜色添加到我的图像中
这是我要添加的np.array颜色
turbo_colormap_data = np.array(
[[0.18995,0.07176,0.23217],
[0.19483,0.08339,0.26149],
[0.19956,0.09498,0.29024],
..................
[
为什么有些Numpy是用C+编写的+;?
发现,2.8%的NUMPY代码是C++。它只是用于与用户的C++代码(如用FORTRAN语言编写的代码的0.1%)进行交互,还是在这个代码上建立了NUMPY的一些功能?
如果在C++ C++代码中建立了一些NUMPY功能,为什么他们不使用C来实现这些目的?< P>如果你点击,你会得到一个GITHUB已经被标记为C++的文件列表。如果你检查这些文件,你会发现其中很多文件实际上不是C++。它们大多是C头文件,或者扩展名为.inc的文件,实际上
我正在查看polyfit例程的文档,发现了一个可能的矛盾。在重量的描述中,它说:
w |数组|状,形状(M),可选权重应用于
采样点的y坐标。对于高斯不确定性,使用
1/西格玛(不是1/西格玛2)**
在cov的章节中,它说:
cov | bool或str,如果给定且不为False,则可选,返回的不仅仅是
但也要估计其协方差矩阵。默认情况下,协方差
按chi2/dof进行缩放,其中dof=M-(deg+1),即权重
被认为是不可靠的,除非是相对意义上的;以及
一切都是按比例缩放的,这样减少的ch
标签: Numpy
conditional-statementsvectorization
我想用一个条件向量化一个函数,这意味着用数组算法计算它的值np.vectorize处理矢量化,但它不适用于数组算法,因此它不是一个完整的解决方案
在问题“”中给出了答案作为解决方案,但没有防止此处出现错误;见下面的MWE
import numpy as np
def myfx(x):
return np.where(x < 1.1, 1, np.arcsin(1 / x))
y = myfx(x)
将numpy导入为np
def myfx(x):
返回np.where(x1.
我有一个点坐标为xy的numpy数组。我已经绘制了这些点中的每一个,并希望有一条线将每个点连接到另一个点(完整的图形)。这个数组是一个2x50结构,所以我对它进行了转置,并使用了一个视图来让我遍历这些行。但是,我得到一个“索引超出范围”错误,如下所示:
plt.plot(*zip(*v.T)) #to plot all the points
viewVX = (v[0]).T
viewVY = (v[1]).T
for i in range(0, 49):
我正在尝试使用C API从一个大型numpy数组中读取许多值(按顺序)。我想要一种比在每个值上单独使用boost::python::extract(…)更有效的方法。类似于获取指向第一个值的指针,然后增加该指针
我已经通读了numpy API文档,我可以看到这是可能的,但对于如何真正实现这一点,我一点也不知道。有人能给我举个例子吗?Boost::Python API不允许您直接这样做。您可以使用Numpy C API来实现这一点。可以使用boost::python::object的ptr()方法
我正在尝试使用scikit进行朴素的Basyes分类。我有几个问题(我也是scikit的新手)
1) Scikit算法希望输入为numpy数组,标签为数组。在文本分类的情况下,我是否应该通过维护vocab中的单词散列和与之相关联的唯一id,将每个单词映射为一个数字(id)?这是scikit的标准做法吗
2) 如果将同一文本分配给多个类,我应该如何继续。一个明显的方法是复制每个培训示例,每个示例对应一个相关标签。还有更好的代表性吗
3) 类似地,对于测试数据,如何获得与测试关联的多个类
我正在使用
例如,我有一个值为[1,2,4,3,6,7,33,2]的数组。我想得到所有大于6的值。据我所知,numpy.take只能获取带有索引的值。
我应该使用哪个函数?您可以使用布尔数组索引对数组进行索引:
>>> a = np.array([1,2,4,3,6,7,33,2])
>>> a > 6
array([False, False, False, False, False, True, True, False], dtype=bool)
>&g
我试图计算RGB图像的平均值。为此,我找到每个像素的亮度,即
L(r,g,b)=X*r+Y*g+Z*b(一些线性组合)。
然后将所有像素的亮度相加,除以宽度*高度,求出平均值。
为了加快速度,我使用
我传递给它的数组是一个一维Numpy数组,因此它的工作原理与给出的示例相同
import Image
import numpy as np
im = Image.open('image_00000001.bmp')
data = np.asarray(im).reshape(-1) # so dat
我有一个scipy中的256x256 csr_矩阵,我有一个我想应用的新行顺序列表。我试过这个:
def HblockDiag(z):
Hz = H(z) # H(z) returns a 256x256 csr_matrix
Hz.indices = idenRows
return Hz
但是它不起作用,因为索引没有给出每行的索引。。。最好的方法是什么
编辑:
我得到:
[[1 2 4]
[6 3 4]
[8 5 2]]
[[6 3 4]
这是一个数学问题,但它与numpy实现有关,所以我决定在某时问它。也许我误解了什么,但如果是的话,我想澄清一下
numpy.ftt.ftt根据公式计算DFT:
numpy.ftt.fftfreq应该返回计算DFT的频率
假设我们有:
x = [0, 0, 1, 0, 0]
X = np.fft.fft(x)
freq = np.fft.fftfreq(5)
然后对于信号x,其DFT变换为x,计算x的频率由freq给出。例如,x[0]是频率freq[0]下x的DFT,x[1]是频率freq[1]
我正在用[n_图像,宽度,高度,3]创建一个大numpy阵列。
为此,我创建了一个空列表,并附加了通过裁剪RGB图像并将其转换为numpy数组而创建的numpy数组
我在优化代码时遇到了一些非常奇怪的事情:
import time
from PIL import Image
im1=Image.open("random_png_image.png")
im2=Image.open("random_png_image.png").convert('RGB')
t1=time.time()
a1
标签: Numpy
3d
image-rotationscikit-imagendimage
我有一个包含一些数据的3D阵列(光栅3D图像)。我想通过使用一些合适的插值(最好是线性的,在这种情况下可能是“三线性的”)得到一个二维的数组。然而,可以方便地描述切割平面,例如使用法向量和距离
如果切割与其中一个轴平行,这很简单,只需切片3D阵列(使用numpy索引切片)。但是如果切口不平行于轴,我看不出一个好的方法来解决这个问题。我想到的唯一一件事是旋转3D阵列(可能使用2D旋转的组合),使切割平行于轴,但这似乎效率极低
我在python中使用numpy、ndimage和skimage。任何其
标签: Numpy
itertoolsrecarray
代码是这样的:
>>>data = pd.DataFrame({'P': ['p1', 'p1', 'p2'],
'Q': ['q1', 'q2', 'q1'],
'R': ['r1', 'r1', 'r2']})
>>>data
P Q R
0 p1 q1 r1
1 p1 q2 r1
2 p2 q1 r2
>>>data.group
标签: Numpy
image-segmentationscikit-image
如图所示,我正在使用skimage.segmentation.felzenszwalb,这很好
我已经尽可能地调整了参数,但它仍然检测到一些我不希望它检测到的大片段。之后如何删除超过特定大小的段?我知道您可以使用skimage.measure.regionprops来获取每个段的面积,但我不知道如何从段fz中删除段,让数组保持与标记边界的接触
import numpy as np
import skimage.io
from skimage.util import img_as_float
fr
标签: Numpy
scipyleast-squaresnon-linear-regressionloss-function
我目前需要将5PL曲线拟合到我拥有的一些数据点。5PL是生物测定分析中常用的非对称逻辑函数。其公式如下:
F(x)=D+(A-D)/(1+(x/C)^B^E)
我使用python中的scipy(duh)获得了一个合适的结果。
我第一次使用数据知识来确定函数的起始参数:-
A is the lower asymptote so guess it with min(y)
B is the Hills slope so guess it with the slope of the line betwe
我试图在tensorflow中计算互信息,并将其与我的numpy代码进行比较:
import numpy as np
import tensorflow as tf
import nibabel as nib
def nmi(vol1,vol2,bin):
m=vol1.shape[2]
n=vol2.shape[2]
if m>n:
d=m-n
slices=np.zeros([vol1.shape[0],vol2.shape[1]
这似乎不是理想的行为,但我想检查一下。我认为它至少应该打印一条警告
import numpy as np
import pdb
from sklearn.metrics import average_precision_score as ps
y = np.array([[1,0],[0,1],[1,0], [1,0],[1,0]])
hat = np.array([[0.2,0.8], [0.1,0.9], [0.8,0.2], [0,1], [0,1]])
print ps(y, hat
我的情况与以下类似:
import numpy as np
a = np.random.rand(55, 1, 3)
b = np.random.rand(55, 626, 3)
在这里,形状表示观察的数量,然后是每次观察的时间片数量,然后是给定时间片上观察的维度数量。因此,b是一个新时间间隔内55个观测值中每个观测值的3维完整表示
我想将a和b堆叠成一个数组,其形状为55627,3。一个人怎样才能在努比做到这一点?如有任何建议,将不胜感激 继续上面Divakar的回答,numpy中的轴参数
在完成tensorflow培训后,我尝试测试一些学习网络
但我的测试图像是通道1的[512 512 1]数据,在512个水平和512个垂直像素中
我将图像数据更改为numpy数组
张量网络应该是[?512 1],看起来是这样的
如何将numpy数组转换为张量?([512-512-1]->[?512-512-1])只需附加一个维度即可
arr = your_image # [512, 512, 1]
new_arr = np.expand_dims(arr, 0)
tensor = tf.con
我正在做家庭作业,目的是将自我实现的岭回归与ADMM与sklearn包的内置函数进行比较。尽管我自己的实现可能会很麻烦,但我仍然坚持解释内置函数输出
我正在Windows上使用Python的3.7版本。我的目标是预测模型Y=X*Beta+Epsilon中Y的值,
其中,Y是100个变量的向量,X是具有集合协方差矩阵的多元正态分布样本100x2000维数的矩阵,β是具有2000个位置中5、10或100个集合值的向量
在这一点上,我尝试了sklearn.linear_model.Ridge的可通过参
我一直在尝试学习如何使用线性回归和scipy拟合曲线
下面是我从另一个帮助别人的用户那里得到的一些代码
我的问题在于:我为xData和yData拟合了一些自己的数据。
但是如果我翻转xData和yData,那么
如何修复它,使曲线适合原始xData和yData位置
import numpy, scipy, matplotlib
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from scipy.optim
我刚刚使用过numpy,现在正在(重新)积累我的numpy知识。
我有一个关于多维(在本例中是2D)数组的奇特索引的问题
给出以下代码段:
>>> a = np.arange(12).reshape(3,4)
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> i = np.array( [ [0,1],
我正在使用PyTorch的数据分割数据。随机分割
train\u idx,validate\u idx,test\u idx=数据。随机分割(X,
[num\u培训样本、num\u验证样本、num\u测试样本])
它返回随机拆分的索引。那么我就做下面的事情
train=[X[train\u idx.index],y[train\u idx.index]]
validate=[X[validate_idx.index],y[validate_idx.index]]
test=[X[test_id
所以我有一个问题,我试图加载到jupyter笔记本的图像数据。加载imgA没有问题,因为当我使用打印(imgA)检查图像时,会显示矩阵,而imgB会不断给我一个notype属性错误,即使两个图像都保存在同一文件夹中
这是我的密码:
imgA = cv2.imread("C:\\Users\\Dzaky Ligarwaly-R\\Documents\\pattern recognition\\Biomedical_Image.jpg")
imgB = cv2.imread("C:\\Users\\
我正在处理一些神经成像数据,我的扫描尺寸是100150100。我目前正在处理nibabel格式的文件
有没有交换轴的好方法?例如,我希望我的图像是100100150。我希望这是在尼伯尔格式,但如果需要的话,我可以得到一个numpy ndarray图像,然后在那里做的工作以及。在这种情况下,在numpy有没有一种很好的方法可以做到这一点
谢谢你的帮助 如果您正在使用numpy,请使用:
import numpy as np
arr = np.swapaxes(arr, 1, 2)
这将交换轴1
我试图实现一个PyTorch协方差矩阵算子。然而,我注意到Numpy实现和我的尝试之间的结果不一样,但我不理解为什么
我将贝塞尔校正加权协方差矩阵定义为:
我将加权平均数定义为:
我比较NumPy方法和我的方法如下:
import numpy as np
import torch
torch.set_printoptions(precision=8)
x = np.random.randn(1000, 3)*1000
w = np.abs(np.random.randn(1000))*1
我有两个平面的输入图像,其中(静态)相机处于未知角度。我使用opencv成功地提取了感兴趣的边和点。但是我被困在从图像计算真实角度
从图像#1中,我需要计算相机相对于平面的角度。我知道平面上有3个点形成等边三角形(60度角)。三角形的中心点也是平面的中心点。但是,图像上的平面中心点被另一个对象覆盖
从图#2中,我需要计算平面上物体(点C)与3个点之一和平面中心点(=线A到B)的实际角度
我如何计算实际角度β,就好像相机与平面没有角度一样
更新:
我在
有许多函数,但我不知道如何将它们应用于我
我需要帮助解决一个小问题。我有一个图像,在这个图像中我定义了一个感兴趣的区域。
现在,我想检查我的ROI的像素值,以便如果ROI颜色范围介于(105105105)和(255255255)之间,则打印“左”,否则打印写入
问题是我无法表达对if语句的理解
示例代码:
import cv2
import matplotlib.pyplot as pltl
import numpy as np
frame=cv2.imread('frame 8 sec.jpg')
ROI=frame[450:
1:
当尝试使用批大小执行pytorch训练序列时,当nn输出和批通过MSEloss函数时,my loss函数出现错误
2:
已经尝试搜索nn填充,但这不是covnet而是自动编码器,类似的堆栈溢出问题尚未产生结果
3:
NN:
列车运行方式:
def train(net, x_train, x_opt, BATCH_SIZE, EPOCHS, input_dim):
outputs = 0
mse = 0
optimizer = optim.SGD(net.parame
我仍然不是最老练的python用户;但我无法克服这个可能很简单的问题。我有一个与spyder接口完美配合的代码。我想通过创建bat文件使其成为一项经常性任务。反过来触发cmd接口的bat文件不导入PANDA_数据读取器,代码被卡住并中止
import pandas_datareader.data as web
上面的这一行创建了下面的错误。这是一篇很长的文章
File "C:\Users\myself\anaconda3\lib\site-packages\pandas_datare
我已经安装了python3.7.4,当我使用pip3安装numpy时,它表示安装成功。当我在主目录中时,我运行python3并输入importnumpy,它工作正常。然而,当我将cd刻录到保存所有.py文件的python3目录中,并尝试运行一个导入numpy的python文件时,我得到了一个提示。如果我在这个python3目录中,并且运行python3,我会打开相同版本的python,但是当我尝试运行import numpy时,我会得到相同的结果。我的homework3.py文件只包含一行,它是
标签: Numpy
covarianceeigenvectorsymmetriccovariance-matrix
我有两个特征向量集X和Y,其中size=(7,7)(7个分量的7个特征向量)
我正在寻找一种从这两个特征向量集建立协方差矩阵的方法
第一次,我做了这个功能:
# Compute covariance between vectors of matrix
def compute_Cov(A,B):
C = np.zeros((7,7))
for i in range(7):
C[0:7,i]= np.mean(A[0:7,i]*B[0:7,i]) - np.mean(A[0:7,i]
标签: Numpy
vectorizationdry-run
当我运行一个用numpy矢量化的函数时,它的执行次数总是比我预期的要多。因此,在实际调用开始之前,似乎有一个试运行。最近,我因为这个遇到了麻烦。请参见以下示例:
import numpy as np
class PERSON:
def __init__(self, age):
self.age = age
class TIME:
def __init__(self):
self.ages = np.array([0,0])
def i
标签: Numpy
netcdfpython-xarraynetcdf4
我想将存储日期、温度值、纬度和经度信息的CSV文件转换为三维的NetCDF文件格式
import pandas as pd
import xarray as xr
df = pd.read_csv(csv_file)
xr = df.to_xarray()
nc=xr.to_netcdf('my_netcdf.nc')
我的数据帧如下所示:
当我在下面使用这个脚本时,它只包含一个维度
import pandas as pd
import
我正在尝试为我使用YLO检测到的每幅图像的图像数据训练一个cnn模型,并仅在specefic帧上应用cnn
使用的cnn medel是:
# define our Convolutional Neural Network architecture from tensorflow.keras import layers model = Sequential() model.add(layers.Conv2D(32, (3, 3), padding="same", input_s
我正在为Spyder 3.2.4 IDE中的数字运算代码编写代码,当我检查结果时,我感到困惑
功能代码为
def dictWords(dataLength):
maxLength = 1.
sumLengths = 2.
totalWords = 2.
while sumLengths < dataLength:
maxLength += 1
sumLengths = 2*(maxLength*2**maxLength - 2
我有一个4D numpy数组a的形状(N,N,N),我想通过固定索引对将其转换为二维矩阵M的形状(N,N)。比如说
M[i,j] = A[i,j,i,j]
在numpy中应该如何做到这一点,避免for循环
编辑:
随后,我将使用numpy.ix提供的索引数组访问M的元素,因此以类似方式访问4D数组的元素也是一个解决方案。这是一个解决方法:
i,j=np.arange(N),np.arange(N)
j_idx,i_idx=np.meshgrid(i,j)
M=A[i_idx,j_idx,i_i
我已经在线程和进程上苦干了一段时间,试图加快我在IPython的并行工作。我不确定我调用的函数有多少细节是有用的,所以这里有一个bash,但是询问您是否需要更多
我的函数的调用签名看起来像
def intersplit_array(ob,er,nl,m,mi,t,ti,dmax,n0=6,steps=50):
基本上,ob、er和nl是观察值的参数,m、mi、t、ti和dmax是表示模型的参数,用于比较观察值。(n0和steps是函数的固定数值参数。)函数循环通过m中的所有模型,并使用mi中的
我在numpy.fft.irfft2中输入了一个1024x512数组,然后从中取出一个1024x1022数组。为什么我不能得到1024x1024?我想得到一个方阵。“在最终转换轴中,当没有给定s时,输出的长度为2*(m-1),其中m是输入的最终转换轴的长度。”
您需要将“s”指定为参数
(irfftn比irfftn2有更好的文档,'s'在这两个方面做的事情相同)“在最终转换轴中,未给定s时的输出长度为2*(m-1),其中m是输入的最终转换轴的长度。”
您需要将“s”指定为参数
(irfftn
我希望计算一个深度范围内的平均温度(因此2米、3米等处的平均温度),以便最终能够绘制平均温度与深度的关系图。温度是数组中的一列,深度是另一列。由于有一个深度范围(从2m到>200m),我不想手动键入每个深度的代码,所以我想知道如何做到这一点。这就是我到目前为止所做的:
import numpy as np
temperature = data['Temperature']
depth = data['Depth']
meantemp = np.mean(temperature)
下载/复制并
我有一个熊猫系列,所以:
A 1
B 2
C 3
AB 4
AC 5
BA 4
BC 8
CA 5
CB 8
转换为矩阵的简单代码如下:
1 4 5
4 2 8
5 8 3
一些相当动态和内置的东西,而不是许多循环来解决这个3x3问题。你可以这样做
import pandas as pd
# your raw data
raw_index = 'A B C AB AC BA BC CA CB'.split()
values = [1, 2, 3, 4, 5, 4,
我正在用numpy实现一个矩阵分解算法,发现我的代码运行了很长时间,导致jupyter内核重新启动。我将错误定位到使用np.dot的一行代码中。下面是一段代码,其中的行运行缓慢:
H = np.random.rand(n_features, 8)
print(H_start.T.shape) #(8, 10285)
print(t2t_matrix.shape) #(10285, 10285)
S_nom = H_start.T.dot(t2t_matrix) # this line takes
我有我的X和Y numpy阵列:
X = np.array([0,1,2,3])
Y = np.array([0,1,2,3])
以及将x、y值映射到Z点的函数:
def z(x,y):
return x+y
我希望生成3D绘图所需的显而易见的东西:对应Z值的二维numpy数组。我认为应该是这样的:
Z = np.array([[0, 1, 2, 3],
[1, 2, 3, 4],
[2, 3, 4, 5],
标签: Numpy
numericnumerical-methods
我在积分一个偏微分方程,其中有一个四阶偏导数,在$x$,时间上的数值积分给了我荒谬的错误。我认为问题的原因是,我在四阶导数中得到了很大的误差。为了说明,我取函数$y(x)=1-\cos(2\pix)$的数值导数。下面我绘制了域$(0,1.0)$中的导数$y{xx}(x)$和$y{xxxx}(x)$。见下图:
可以看出,误差主要发生在边界附近
数值导数采用numpy梯度法进行。
python代码如下:
import numpy as np
import matplotlib.pyplot as
我有一个包含400个特征的数据集
我所做的:
# approach 1
d_cov = np.cov(d_train.transpose())
eigens, mypca = LA.eig(d_cov) # assume sort by eigen value also/ LA = numpy linear algebra
# approach 2
pca = PCA(n_components=300)
d_fit = pca.fit_transform(d_train)
pc = pca.
我有一个预训练的keras模型pspnet50_ad20k,想从中得到一个分割图像。输入是形状为(1473,473,3)的numpy数组中的图像,它返回形状为(1473,473,150)的数组,因为该模型预测了150个不同的类
import os
os.environ['KERAS_BACKEND'] = "tensorflow"
from keras.models import model_from_json
json_file = open('/data/pspnet50_ade20k.j
我对多边形拟合函数有一个问题。我的数据是:
value_to_cycle_slip_x_1 = [0.0, 30.0, 60.0, 90.0, 120.0, 150.0, 180.0, 210.0, 240.0, 270.0]
value_to_cycle_slip_y_1 = [1.4108499772846699, 1.410405956208706, 1.4104186482727528, 1.4109007231891155, 1.4058293923735619, 1.40692041
我有一个维数为(22,2)的矩阵,我想用奇异值分解它。但是numpy中的SVD没有返回正确的维度。我希望像(22,22)、(22,2)
返回的尺寸是正确的。uu和vvh矩阵始终是平方矩阵,而根据软件的不同,s可以是仅具有奇异值的数组(如numpy)或具有原始矩阵尺寸的对角矩阵(如MATLAB)
uu矩阵的维数是原始矩阵的行数,vvh矩阵的维数是原始矩阵的列数。这永远不会改变,否则您将计算其他内容而不是SVD
要从numpy中的分解重构原始矩阵,我们需要将s转换为具有适当维数的矩阵。对于方阵很容易
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 75 页