gpt4 book ai didi

python - 从文本文件中获取矩阵的行、列平均值

转载 作者:行者123 更新时间:2023-12-01 09:19:42 26 4
gpt4 key购买 nike

我的问题是如何获取每个矩阵的平均值并将其写入新的文本文件中。

如果文本内容是

1 -20 -100 50 60
3 4 -100 -3
-10 5 45 10 -15\n

我想在不使用 numpy 的情况下获得这样的结果:

1 -20 -100 50 60  avg : -2
3 4 -100 -3 0 avg : -20
-10 5 45 10 -15 avg : 7
-2 -4 -52 19 15

这是我的代码:

with open('number.txt','r') as file1:
file2 = open('text2.txt','w')
line = file1.readlines()
for i in range(len(line)):
a = str(line[i])
a.split()
b = a.split()
for j in range(len(b)):
sum(int(b[0][i]))/len(b)
for z in range(len(b)):
sum(int(b[i][0]))/len(b)

最佳答案

新:ziperdyzip

出于某种原因,您似乎不想使用 NumPy。嗯:这没有使用 numpy:

rowMean = [sum(row)//len(row) for row in data]
colmean = [sum(col)//len(col) for col in list(map(list, zip(*data)))]

完整示例:

with open('number.txt', 'r') as file1:
data = file1.readlines()
data = [line.split() for line in data]
data = [list(map(int, row)) for row in data]

outData = [list(map(str, row)) + ['avg :', str(sum(row)//len(row)), '\n'] for row in data]
outData.append([str(sum(col)//len(col)) for col in list(map(list, zip(*data)))])

with open('text2.txt', 'w') as file2:
file2.writelines([' '.join(row) for row in outData])

或者采用右对齐形式的紧凑形式:

with open('output.txt', 'w') as outfile, open('number.txt', 'r') as infile:
data = [list(map(int, line.split())) for line in infile.readlines()]
outfile.writelines([' '.join([str(el).rjust(4) for el in row] + ['avg :', str(sum(row)//len(row)).rjust(4), '\n']) for row in data])
outfile.write(' '.join([str(sum(col)//len(col)).rjust(4) for col in list(map(list, zip(*data)))]))

输出:

   1  -20 -100   50   60 avg :   -2 
3 4 -100 -3 0 avg : -20
-10 5 45 10 -15 avg : 7
-2 -4 -52 19 15
<小时/>

旧:Numpy

您可以使用 NumPy

data = [[1, -20, -100, 50, 60],
[3, 4, -100, -3, 0],
[-10, 5, 45, 10, -15]]

import numpy as np

colMean = np.floor(np.mean(data,0)).astype(int).tolist()
rowMean = np.floor(np.mean(data,1)).astype(int).tolist()

我使用了np.floor(),从你的例子来看,你似乎想向下舍入。

关于python - 从文本文件中获取矩阵的行、列平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50897121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com