Python 尝试最小化代码以查找numpy数组的sub_数组之和

Python 尝试最小化代码以查找numpy数组的sub_数组之和,python,for-loop,numpy,sum,Python,For Loop,Numpy,Sum,我有一个如下形式的Numpy数组: a = [[1,2,3],[4,5,6],[3,4,2]] b = [6,15,9] 我想将所有子列表汇总为以下形式: a = [[1,2,3],[4,5,6],[3,4,2]] b = [6,15,9] 我有以下代码可以实现这一点: ss = numpy.zeros(shape = []) for item in a: print item s = item.sum() print s b = np.append(ss

我有一个如下形式的Numpy数组:

a = [[1,2,3],[4,5,6],[3,4,2]]
b = [6,15,9]
我想将所有子列表汇总为以下形式:

a = [[1,2,3],[4,5,6],[3,4,2]]
b = [6,15,9]
我有以下代码可以实现这一点:

ss = numpy.zeros(shape = [])
for item in a:
    print item
    s = item.sum()
    print s
    b = np.append(ss,s)
结果如下:b=[6,15,9]

没有这个显式for循环,我能做吗?如中所示,是否有一个numpy功能可以让我的生活变得轻松?这是因为数组a相当大~10^6个条目

ss = a.sum(1)
如果
a
是一个numpy数组,就可以这样做。如果是numpy数组列表或要使用的列表列表:

ss = numpy.sum(a, 1)
感谢@DSM的改进

如果
a
是一个numpy数组,就可以这样做。如果是numpy数组列表或要使用的列表列表:

ss = numpy.sum(a, 1)
感谢@DSM的改进

如果
a
是一个numpy数组,就可以这样做。如果是numpy数组列表或要使用的列表列表:

ss = numpy.sum(a, 1)
感谢@DSM的改进

如果
a
是一个numpy数组,就可以这样做。如果是numpy数组列表或要使用的列表列表:

ss = numpy.sum(a, 1)

感谢@DSM的改进。

如果
a
ndarray
,您也可以使用该方法而不是函数,即
a.sum(1)
numpy.sum(a,1)
将实际工作,即使
a
是一个列表列表。@Nabla感谢您的回答。顺便说一句,为什么在ss=a.sum(1)中的paradensis中使用1?@AbhinavKumar该数字定义了二维数组的轴,沿着该轴求和,有关详细信息,请参见。如果
a
ndarray
,您也可以使用该方法而不是函数,即
a.sum(1)
numpy.sum(a,1)
将实际工作,即使
a
是一个列表列表。@Nabla感谢您的回答。顺便说一句,为什么在ss=a.sum(1)中的paradensis中使用1?@AbhinavKumar该数字定义了二维数组的轴,沿着该轴求和,有关详细信息,请参见。如果
a
ndarray
,您也可以使用该方法而不是函数,即
a.sum(1)
numpy.sum(a,1)
将实际工作,即使
a
是一个列表列表。@Nabla感谢您的回答。顺便说一句,为什么在ss=a.sum(1)中的paradensis中使用1?@AbhinavKumar该数字定义了二维数组的轴,沿着该轴求和,有关详细信息,请参见。如果
a
ndarray
,您也可以使用该方法而不是函数,即
a.sum(1)
numpy.sum(a,1)
将实际工作,即使
a
是一个列表列表。@Nabla感谢您的回答。顺便说一句,为什么在ss=a.sum(1)中的paradensis中使用1?@AbhinavKumar该数字定义了二维数组的轴,沿着该轴进行求和,有关详细信息,请参见。子数组的长度是否相同?如果是这样,那么
np.array(a)
是一个2d数组,您可以对
axis=1
求和。否则,需要某种循环,列表理解是最紧凑的:
[x在[[1,2,3],[4,5,6],[3,4,2]]]
中的和(x)。子数组的长度是否相同?如果是这样,那么
np.array(a)
是一个2d数组,您可以对
axis=1
求和。否则,需要某种循环,列表理解是最紧凑的:
[x在[[1,2,3],[4,5,6],[3,4,2]]]
中的和(x)。子数组的长度是否相同?如果是这样,那么
np.array(a)
是一个2d数组,您可以对
axis=1
求和。否则,需要某种循环,列表理解是最紧凑的:
[x在[[1,2,3],[4,5,6],[3,4,2]]]
中的和(x)。子数组的长度是否相同?如果是这样,那么
np.array(a)
是一个2d数组,您可以对
axis=1
求和。否则需要某种循环,列表理解是最紧凑的:
[x在[[1,2,3]、[4,5,6]、[3,4,2]]]中的和(x)。