从表中的循环打印数据

时间:2017-11-08 23:13:37

标签: python numpy

假设我有一个包含4列和4行的文件,如下所示

file

我导入了文件并创建了一个循环来分别获取每列的统计信息:

file= np.loadtxt('file.txt', skiprows=1)
list= (file[:,0], file[:,1], file[:,2],file[:,3])
for a in list:

    ra = np.amax(a) - np.amin(a)
    mean = np.mean(a)
    med = np.median(a)

    print('range', ra)
    print('mean', round(mean,1))
    print('med', round(med,1))

然而,这会让我看起来像这样的东西

('range', 3)
('mean', 2)
('median', 2)
('range', 4)
('mean', 3)
('median', 3)
('range', 3)
('mean', 3)
('median', 2)
('range', 3)
('mean', 3)
('median', 2)

我的问题是如何以表格形式打印它,使其类似于:

table

我正在寻找非常简单的解决方案。感谢您的帮助

1 个答案:

答案 0 :(得分:2)

如果您需要带标签的表格,请使用pandas

In [1]: df = pd.read_csv('test.txt', sep=" ")
   ...: pd.DataFrame({'mean':df.mean(), 'median':df.median(), 'range':df.max()-df.min()})
Out[1]: 
       mean  median  range
A  2.666667     1.0      5
B  2.666667     3.0      1
C  4.000000     4.0      0
D  5.000000     5.0      8