Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用长度不同的两个数组numpython_Python_Arrays_Function_Numpy_Size - Fatal编程技术网

使用长度不同的两个数组numpython

使用长度不同的两个数组numpython,python,arrays,function,numpy,size,Python,Arrays,Function,Numpy,Size,是否有一种方法可以修改下面的函数,以便它可以计算不同长度大小的数组。数字数组的长度为7,格式化的长度为5。下面的代码比较了格式化中的任何数字是否在两个值之间,如果是,则将两个值相加。因此,对于第一次计算,由于Numbers中没有任何元素介于0和2之间,因此结果将为0。指向代码的链接派生自: 代码: 下面是一种使用bincounts的方法。请注意,您的x和l都搞砸了,我记得您可以/应该使用数字化: # Formating goes here x = np.sort(Formating); # d

是否有一种方法可以修改下面的函数,以便它可以计算不同长度大小的数组。
数字
数组的长度为7,
格式化
的长度为5。下面的代码比较了
格式化
中的任何数字是否在两个值之间,如果是,则将两个值相加。因此,对于第一次计算,由于
Numbers
中没有任何元素介于
0和2之间,因此结果将为0。指向代码的链接派生自:

代码:


下面是一种使用
bincounts
的方法。请注意,您的
x
l
都搞砸了,我记得您可以/应该使用
数字化

# Formating goes here
x = np.sort(Formating);

# digitize
l = np.digitize(Numbers, x)

# output:
np.bincount(l, weights=Numbers)
输出:


那个代码怎么了?@hpaulj它不运行:-)。应该是
N=Numbers[:,None]。重复(4,1)。T
。也就是说,
x
l
是多余的,而且是错误的!而所有这些
结果
的东西似乎都被过度使用了<代码>(掩码*数字[None,:])。总和(轴=1)
工作正常。也就是说,OP提出的这一系列问题看起来像是XY问题。
x
l
来自不同的解决方案,
mask
是我提出的。
N
5
的使用是从
格式化
有6个术语时遗留下来的;显然(?)如果
格式化
更改,该值也应该更改。我建议使用
np.ma
作为可视化使用
mask
的一种方法
np.ma.sum
会处理0填充。是否有办法将输出修改为介于设置的边界之间,并导致
[0 7 30 0]
[ 0  7 30  0]
# Formating goes here
x = np.sort(Formating);

# digitize
l = np.digitize(Numbers, x)

# output:
np.bincount(l, weights=Numbers)
array([ 0.,  0.,  7., 30.,  0., 20.])