小编The*_*tor的帖子

scipy.integrate.quad 在大范围内给出错误的结果

我正在尝试对两个“半”正态分布的总和进行积分。scipy.integrate.quad当我尝试在小范围内进行积分时工作正常,但在大范围内进行积分时返回 0。这是代码:

mu1 = 0
mu2 = 0
std1 = 1
std2 = 1

def integral_fun(x):
    nor1 = 0.5 * ((1 / (np.sqrt(2 * np.pi) * std1)) * (np.e ** ((-(x-mu1) ** 2) / (2 * std1 **2))))
    nor2 = 0.5 * ((1 / (np.sqrt(2 * np.pi) * std2)) * (np.e ** ((-(x-mu2) ** 2) / (2 * std2 **2))))
    return nor1 + nor2


integrate.quad(integral_fun, -5, 5)
Out[54]: (0.9999994266968564, 8.668320228277793e-10)

integrate.quad(integral_fun, -10, 10)
Out[55]: (1.0000000000000002, 8.671029607900576e-10)

integrate.quad(integral_fun, -100000, …
Run Code Online (Sandbox Code Playgroud)

python integration scipy quad python-3.x

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

如果存在于另一个数组中,则从一个数组中删除元素,保留重复项 - NumPy/Python

我有两个数组A(len为380万)和B(len为20k).对于最小的例子,让我们来看看这个案例:

A = np.array([1,1,2,3,3,3,4,5,6,7,8,8])
B = np.array([1,2,8])
Run Code Online (Sandbox Code Playgroud)

现在我希望得到的数组是:

C = np.array([3,3,3,4,5,6,7])
Run Code Online (Sandbox Code Playgroud)

即如果B找到任何值,则A删除它A,如果不保留它.

我想知道是否有任何方法可以在没有for循环的情况下进行,因为它是一个冗长的数组,因此循环需要很长时间.

python for-loop numpy unique

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

Python正则表达式编译和搜索带有数字和单词的字符串

我有三个字符串,其中包含街道名称和公寓号的信息。

"32 Syndicate street""Street 45 No 100""15, Tom and Jerry Street"

这里,

"32 Syndicate street" -> {"street name": "Syndicate street", "apartment number": "32"}
"Street 45 No 100" -> {"street name": "Street 45", "apartment number": "No 100"}
"15, Tom and Jerry Street" -> {"street name": "Tom and Jerry Street", "apartment number": "15"}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 Python 的正则表达式分别获取街道名称和公寓号。这是我当前的代码,它有问题:

import re 
for i in ["32 Syndicate street","Street 45 No 100","15, Tom and Jerry Street"]:
    ###--- write patterns for street names
    pattern_street …
Run Code Online (Sandbox Code Playgroud)

python regex python-3.x python-re

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

在Python中计算数组的余弦值

我有a1242个数字命名的数组。我需要获取Python中所有数字的余弦值。

当我使用时:cos_ra = math.cos(a)我收到一条错误消息:

TypeError:只有length-1数组可以转换为Python标量

我怎么解决这个问题??

提前致谢

python arrays math trigonometry numpy

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

将两个不同形状的 numpy 数组合并为一个数组

我有两个 numpy 数组的ab长度分别为 53 和 82。我想将它们合并到一个数组中,因为我想使用 53+82=135 长度的数组,比如称其为c进行绘图。

我试过

c = a+b 
Run Code Online (Sandbox Code Playgroud)

但我收到ValueError: shape mismatch: objects cannot be broadcast to a single shape

这可能吗?

python arrays numpy

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

Python:Matplotlib:matplotlib 中的垂直对齐图

我想从多个来源读取数据并将它们绘制在彼此之上。我需要绘制它们的方式是x-axis在底部有一个标签,而其他的都应该与相同的 对齐x-axis,无论有哪些点可用。

以下是问题的示例:

import matplotlib.pylab as plt
import random
import matplotlib.gridspec as gridspec

random.seed(20)

#create x-axis of my data
x1 = range(0,10) #different range than the next one
x2 = range(1,9)

#create data (just random data corresponding the x1,x2)
data1 = [random.random() for i in x1]
data2 = [random.random()*1000 for i in x2]

gs = gridspec.GridSpec(2,1)
fig = plt.figure()

#first plot
ax = fig.add_subplot(gs[0])
ax.plot(x1,data1)
ax.set_ylabel(r'Label One', size =16)
ax.get_yaxis().set_label_coords(-0.1,0.5)
plt.tick_params(
    axis='x',          # changes apply to …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib figure subplot

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

负数组Python的平方根

我知道Python具有cmath模块来查找负数的平方根。

我想知道的是,如何对100个负数数组进行相同的处理?

python arrays cmath sqrt

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

通过与第二个列表进行比较来从列表中删除项目,Python

一个小例子。我有两个带有数字的列表,ra还有dec这里。我这里有第三个列表,其中也有一些数字quad

我想要做的是删除radec中的那些值quad

>>> ra = [1,1,1,2,3,4,5,6,7,8]
>>> dec = [1,2,3,4,5,6,7,7,7,7]
>>> quad = [1,2,3,1,2,3]
>>> new_ra = []
>>> new_dec = []
>>> for a,b in zip(ra,dec):
        if ((a not in quad) & (b not in quad)):
            new_ra.append(a)
            new_dec.append(b)
Run Code Online (Sandbox Code Playgroud)

所以在这里你会期望:

new_ra = [4,5,6,7,8]
Run Code Online (Sandbox Code Playgroud)

new_dec = [4,5,6,7,7,7]
Run Code Online (Sandbox Code Playgroud)

然而,我得到:

new_ra = [4,5,6,7,8] 
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,但是,

new_dec = [6,7,7,7,7]
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?我的循环出了什么问题?

PS我遵循与此问题相同的方法,但我的第二个列表没有给我正确的答案。

python for-loop if-statement list-comprehension list

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

Python字符串格式,包括最后的0

我在定义中使用Python的字符串格式化方法来调用一些.txt文件.一个这样的例子是:

def call_files(zcos1,zcos1,sig0):
    a,b = np.loadtxt('/home/xi_'+str(zcos1)+'<zphot'+str(sig0)+'<'+str(zcos2)+'_.dat',unpack=True)
Run Code Online (Sandbox Code Playgroud)

这里str(sig0)给出了调用的地方sig0 == 0.050.然而,当我这样做,而不是采取0.050,它是四舍五入0.05!

我如何str(sig0)成为0.050代替0.05

python numpy function string-formatting

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

Python:绘制大型矩阵的热图

我有一个尺寸为500 X 18904的大型矩阵。

由于大多数值都是零,因此我无法清楚地看到图案,因为零在颜色栏中占主导地位。

为了更仔细地查看数据,我需要放大图像的不同部分。有没有可靠的方法可以使用色条显示此数据?

这是我的代码和输出。

import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
j = sio.loadmat('UV_matrix.mat')
k = j['UV']  
plt.imshow(k, aspect='auto')
plt.show()
Run Code Online (Sandbox Code Playgroud)

输出 在此处输入图片说明

python matplotlib heatmap python-3.x colorbar

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