1、首先计算出 6个二维矩阵 : nn1、 nn2、 nn3、 nn4、 nn5、 nn6
import numpy as np
n1 = np.array([60,0,-60])
n2 = np.array([80,0,-80])
n3 = np.array([100,0,-100])
n4 = np.array([[100,0,-100]])
n5 = np.array([80,0,-80])
n6 = np.array([60,0,-60])
n = np.array([[0.7],[0.1],[0.1],[0.1]])
nn1 = np.multiply(n1,n)
nn2 = np.multiply(n2,n)
nn3 = np.multiply(n3,n)
nn4 = np.multiply(n4,n)
nn5 = np.multiply(n5,n)
nn6 = np.multiply(n6,n)
-
2、根据打印出来的结果描述随机相加的一种情况如下:
nn1打印出来的结果:
[[ 42. 0. -42.] #假设这一行随机选出 第一个数:42
[ 6. 0. -6.] #假设这一行随机选出 第三个数:-6
[ 6. 0. -6.] #假设这一行随机选出 第二个数:0
[ 6. 0. -6.]] #假设这一行随机选出 第三个数:-6
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组 (nn1随机取出的这一行结果为[42,-6,0,-6])
nn2打印出来的结果:
[[ 56. 0. -56.] #假设这一行随机选出 第三个数:-56
[ 8. 0. -8.] #假设这一行随机选出 第二个数:0
[ 8. 0. -8.] #假设这一行随机选出 第一个数:8
[ 8. 0. -8.]] #假设这一行随机选出 第一个数:8
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组 (nn2随机取出的这一行结果为[-56,0,8,8])
nn3打印出来的结果:
[[ 70. 0. -70.] #假设这一行随机选出 第二个数:0
[ 10. 0. -10.] #假设这一行随机选出 第三个数:-10
[ 10. 0. -10.] #假设这一行随机选出 第三个数:-10
[ 10. 0. -10.]] #假设这一行随机选出 第一个数:10
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组(nn3随机取出的这一行结果为[0,-10,-10,10])
nn4打印出来的结果:
[[ 70. 0. -70.] #假设这一行随机选出 第一个数:70
[ 10. 0. -10.] #假设这一行随机选出 第一个数:10
[ 10. 0. -10.] #假设这一行随机选出 第三个数:-10
[ 10. 0. -10.]] #假设这一行随机选出 第二个数:0
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组(nn4随机取出的这一行结果为[70,10,-10,0])
nn5打印出来的结果:
[[ 56. 0. -56.] #假设这一行随机选出 第一个数:56
[ 8. 0. -8.] #假设这一行随机选出 第二个数:0
[ 8. 0. -8.] #假设这一行随机选出 第三个数:-8
[ 8. 0. -8.]] #假设这一行随机选出 第二个数:0
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组(nn5随机取出的这一行结果为[56,0,-8,0])
nn6打印出来的结果:
[[ 42. 0. -42.] #假设这一行随机选出 第三个数:-42
[ 6. 0. -6.] #假设这一行随机选出 第一个数:6
[ 6. 0. -6.] #假设这一行随机选出 第三个数:-6
[ 6. 0. -6.]] #假设这一行随机选出 第二个数:0
这个二维数组每一行随机排列组合总共有3的4次方 = 81种情况(上方【假设】只列出了一种随机情况)
得到的是81行 * 4列的二维数组(nn6随机取出的这一行结果为[-42,6,-6,0])
-
3、最后从 nn1、 nn2、 nn3、 nn4、 nn5、 nn6 中的每一种情况的所有元素相加得到一个值
nn1随机取出的这一行结果为[42,-6,0,-6] #(总共有81行)
nn2随机取出的这一行结果为[-56,0,8,8] #(总共有81行)
nn3随机取出的这一行结果为[0,-10,-10,10] #(总共有81行)
nn4随机取出的这一行结果为[70,10,-10,0] #(总共有81行)
nn5随机取出的这一行结果为[56,0,-8,0] #(总共有81行)
nn6随机取出的这一行结果为[-42,6,-6,0] #(总共有81行)
nnn = nn1 + nn2 + nn3 + nn4 + nn5 +nn6
print(nnn)
[42,-6,0,-6,-56,0,8,8........56,0,-8,0,-42,6,-6,0]
此时nnn的长度为24个元素
求这一次随机取出的六组元素的和: sum(nnn) = 56
此时56放到结果集的【一维数组】中
同样的方式计算 81的6次方 种情况最后组成的【一维数组】
【一维数组】中有 282429536481 个元素
补充说明:
6个[81行4列]的二维数组以行做排列组合, 总共【81的6次方=282429536481】种情况,
得到【282429536481行 * 24列】的二维数组,然后对每一行的24个元素求和
得到【282429536481行 *1列】的二维数组,再转成有282429536481个元素的【一维数组】
-
4、接下来对这个 【一维数组】中有 282429536481 个元素 进行统计分析
1、根据【一维数组】中不同值做groupby进行分组统计。
2、统计结果可以是 数值对应的数量组成的二维数组或者画出柱状图
3、计算出合理的正、负极值(例如最大值336,最小值-336)、方差、正态分布等等统计方法,
不仅限于此只要能说明统计分析思路和理由即可。
4、这些统计方法采用python代码实现,最好用numpy或者pandas