我在执行以下任务时遇到了一些问题:
我有一个列表列表。
我将“weighted_prob”称为列表列表,其中“weighted_prob”的每个元素都称为“weighted_variable”。
weighted_prob 中有 32 个元素,每个元素都是 100 个浮点数的列表。
这是它的样子:
for i in arange(0,2):
print weighted_prob[i]
outcome:
[ 1.56147373e-02 2.04783441e-03 2.60245622e-03 2.34647692e-03
1.96250797e-03 2.60245622e-03 1.45054937e-03 1.74919189e-03
2.00517119e-03 2.04783441e-03 1.62120224e-03 1.87718154e-03
1.96250797e-03 2.34647692e-03 2.00517119e-03 1.57853902e-03
1.74919189e-03 2.21848727e-03 1.53587580e-03 1.36522294e-03
1.19457007e-03 1.32255972e-03 1.10924364e-03 9.38590770e-04
7.25274686e-04 8.95927553e-04 6.39948252e-04 9.81253986e-04
8.53264336e-04 3.41305734e-04 5.97285035e-04 5.11958602e-04
6.39948252e-04 5.11958602e-04 4.69295385e-04 2.98642518e-04
2.13316084e-04 2.13316084e-04 3.41305734e-04 3.83968951e-04
2.98642518e-04 1.70652867e-04 2.98642518e-04 1.27989650e-04
1.70652867e-04 1.27989650e-04 2.55979301e-04 1.27989650e-04
8.53264336e-05 1.27989650e-04 4.26632168e-05 1.27989650e-04
4.26632168e-05 4.26632168e-05 0.00000000e+00 0.00000000e+00
1.27989650e-04 0.00000000e+00 0.00000000e+00 0.00000000e+00
4.26632168e-05 0.00000000e+00 4.26632168e-05 0.00000000e+00
0.00000000e+00 0.00000000e+00 4.26632168e-05 4.26632168e-05
0.00000000e+00 4.26632168e-05 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00]
[ 1.53587591e-02 1.87718167e-03 2.17582421e-03 2.13316099e-03
2.77310929e-03 2.47446675e-03 2.34647709e-03 2.00517133e-03
1.96250811e-03 2.17582421e-03 2.73044607e-03 2.68778285e-03
1.74919201e-03 2.34647709e-03 2.85843573e-03 1.91984489e-03
2.38914031e-03 2.64511963e-03 1.79185523e-03 1.91984489e-03
1.74919201e-03 1.32255981e-03 1.66386557e-03 1.57853913e-03
8.10601177e-04 1.27989659e-03 8.95927616e-04 8.95927616e-04
8.53264397e-04 8.53264397e-04 5.97285078e-04 6.39948297e-04
6.39948297e-04 6.39948297e-04 5.97285078e-04 4.26632198e-04
5.54621858e-04 3.83968978e-04 3.41305759e-04 1.70652879e-04
4.26632198e-04 1.70652879e-04 2.55979319e-04 5.11958638e-04
2.98642539e-04 8.53264397e-05 2.55979319e-04 8.53264397e-05
1.70652879e-04 0.00000000e+00 4.26632198e-05 8.53264397e-05
4.26632198e-05 1.27989659e-04 4.26632198e-05 4.26632198e-05
4.26632198e-05 8.53264397e-05 8.53264397e-05 4.26632198e-05
4.26632198e-05 4.26632198e-05 4.26632198e-05 0.00000000e+00
4.26632198e-05 4.26632198e-05 4.26632198e-05 0.00000000e+00
0.00000000e+00 4.26632198e-05 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 0.00000000e+00]
我想将每个 weighted_variable 的所有第 i 个元素相加。
换句话说,我想说,weighted_prob中每个列表的第零个元素(因此获得32个变量),得到变量的总和,将这个总和存储在一个数组中。对于所有 32 个“weighted_variables”,这必须应用于每个 weighted_variable 的所有 100 个元素。
这是我的尝试:
add_prob = []
for weighted_variable in weighted_prob:
for i in range(len(weighted_variable)-1):
sum_per_bin = []
sum_per_bin.append(partitioning[i])
dummy = sum(sum_per_bin)
add_prob.append(dummy)
但命令
print add_prob
给出了 32 个零的列表,我很肯定这是错误的。
任何人都可以帮助我吗?例如,也许有更好的方法可以做到这一点,而无需嵌套 for 循环?
非常感谢
布莱斯