首页 > 解决方案 > python中的数据表

问题描述

如何创建如下表所示的数据表?

         (1) (2) (3) (4) 
    (1,2).3  .6   0   0
    (1,3).25  0  .75  0
    (1,4).2   0   0  .8
    (2,3) 0  .4  .6   0
    (2,4) 0  .3  .6   0  
    (3,4) 0   0  .42 .57
  (1,2,3).16 .3  .5   0
  (1,3,4).12  0  .37 .5
(1,2,3,4).1  .2  .3  .4
Rows

行是数组的所有排列,列是数组的所有值。数据是排列中的每个值除以排列中所有值的总和。以下是获取值的代码。

from itertools import combinations, chain
n = int(input("Enter The Amount of Numbers in the List: ")
)
z = []
p = []
q = []
for i in range(0,n):
  x = float(input("Enter the numbers: "))
  q.append(x)
c = list(chain.from_iterable([list(combinations(q,i)) for i in range(2,len(q)+1)]))
results = []
for x in c:
    for n in range(len(x)):
      results.append([x[n]/sum(x)])

标签: pythondataframenumpyitertools

解决方案


推荐阅读