import numpy,pandas #对称交换矩阵指定行列数据 # row List [开始行,结束行) # line List [开始列,结束列) def swapData(row, line, n, data): i = row[0] while (i < row[1]): j = line[0] while (j < line[1]): tmp = data.loc[i][j] data.loc[i][j] = data.loc[4 * n - 1 - i][4 * n - 1 - j] data.loc[4 * n - 1 - i][4 * n - 1 - j] = tmp j = j + 1 i = i + 1 return data #对4N类型的魔方矩阵 def magicN(n): m = 4 * n data = pandas.DataFrame(numpy.arange(m * m).reshape(m, m)) + 1 #头部行和尾部行的数据交换 data = swapData([0, n], [n, 3 * n], n, data) #左侧列和右侧列的数据交换 data = swapData([n, 3 * n], [0, n], n, data) #结果数据 print(data) #结果行的总和 print(data.sum()) #结果列的总和 print(data.sum(axis=1)) magicN(2)
魔方矩阵
原创
©著作权归作者所有:来自51CTO博客作者hjun169的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:python计算结果留存
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章