Я имею дело с простым CSV-файлом, который содержит три столбца и три строки, содержащие числовые данные. Файл CSV данных выглядит следующим образом:Как правильно использовать арифметические операторы Внутри понимания?
Col1,Col2,Col3
1,2,3
2,2,3
3,2,3
4,2,3
У меня трудно понять, как дать мой питон программа вычитает среднее значение первого столбца «COL1» от каждого значения в том же столбце. Для иллюстрации вывод должен дать следующие значения «Col1»:
1 - 2.5 = -1.5
2 - 2.5 = -0.5
3 - 2.5 = 0.5
4 - 2.5 = 1.5
Вот моя попытка, что дает мне (TypeError: неподдерживаемый тип операнда (ов) для -: «ул» и «поплавком» ) в последний оператор печати, содержащий понимание.
import csv
# Opening the csv file
file1 = csv.DictReader(open('columns.csv'))
file2 = csv.DictReader(open('columns.csv'))
# Do some calculations
NumOfSamples = open('columns.csv').read().count('\n')
SumData = sum(float(row['Col1']) for row in file1)
Aver = SumData/(NumOfSamples - 1) # compute the average of the data in 'Col1'
# Subtracting the average from each value in 'Col1'
data = []
for row in file2:
data.append(row['Col1'])
# Print the results
print Aver
print [e-Aver for e in data] # trying to use comprehension to subtract the average from each value in the list 'data'
Я не знаю, как решить эту проблему! Любая идея, как заставить понимание работать, чтобы дать то, что должно делать?
Ошибка говорит, что вы не можете сделать строку минус поплавок. Проблемная линия имеет «e-Aver». Поэтому 'e' является строкой, а' Aver' является float. Таким образом, вам нужно преобразовать 'e' в float. – TigerhawkT3