Мне нужно сделать функцию, которая вычисляет среднее значение каждой строки чисел в файле данных (.csv), а затем возвращает средства в виде списка.Средство строк в файле данных
Мне удалось получить значения для чисел, добавленных вместе, но я не могу понять, как разделить на длину каждой строки данных, а затем передать результат в список, который нужно вернуть.
def line_averages(filename):
""" compute the average value for every line, and return the average
values in a list in the file "filename" """
infile = open(filename, "r")
all_input = infile.read()
infile.close()
lines = all_input.split('\n') # remove lines
for one_line in lines:
values = one_line.split(',') # remove commas
line_sum = 0
print(values)
for j in values:
line_sum = line_sum + float(j)
Update:
это новый код, который я, как за один из предложений ниже:
def line_averages(filename):
""" compute the average value for every line, and return the average
values in a list in the file "filename" """
f = open(filename, "r")
x = f.read()
f.close()
no_lines = x.split('\n') # remove lines
means = []
for i in no_lines:
no_commas = i.split(',') # remove commas
average = sum(no_commas)/len(no_commas)
means.append(average)
return means
Я получаю эту ошибку:
In [22]: line_averages("data.csv")
Traceback (most recent call last):
File "<ipython-input-29-e2e3fddb5de5>", line 1, in <module>
line_averages("data.csv")
File "E:/Google Drive/python_files/training4.py", line 19, in line_averages
average = sum(no_commas)/len(no_commas)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
не уверен, что пошло не так?!
Пожалуйста, покажите несколько строк вашего CSV-файла. Благодарю. – Ukimiku
1,2 \ n 1,1,1,1 \ n -1,0,1 \ n 42,17 \ n не позволяйте мне делать их по отдельным строкам .... –
Спасибо. Кажется, что ваш вопрос нашел ответ ... С уважением – Ukimiku