Кто-либо знает, как я могу вычислить средние из этих столбцов (на Linux)??
sda 2.91 20.44 6.13 2.95 217.53 186.67 44.55 0.84 92.97
sda 0.00 0.00 2.00 0.00 80.00 0.00 40.00 0.22 110.00
sda 0.00 0.00 2.00 0.00 144.00 0.00 72.00 0.71 100.00
sda 0.00 64.00 0.00 1.00 0.00 8.00 8.00 2.63 10.00
sda 0.00 1.84 0.31 1.38 22.09 104.29 74.91 3.39 2291.82
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Например: средний (столбец 2)
Awk:
awk '{ total += $2 } END { print total/NR }' yourFile.whatever
Читается как:
Для этого можно использовать python, есть в Linux.
Если это происходит из файла, посмотрите на этот вопрос, просто используйте float вместо этого.
Например:
#mean.py
def main():
with open("mean.txt", 'r') as f:
data = [map(float, line.split()) for line in f]
columnTwo = []
for row in data:
columnTwo.append( row[1] )
print sum(columnTwo,0.0) / len( columnTwo )
if __name__=="__main__":
main()
Prints 14.38
Я просто включаю данные в файл mean.txt, а не в заголовок строки: "sda"
Дэвид Заславский для забавы:
with open("mean.txt", 'r') as f:
n,t = map(sum, zip(*((1, float(line.split()[1])) for line in f)))
print t/n