mode_series = df['Price'].mode()
with open("stats1.csv","w",newline='') as out:
writer = csv.writer(out,delimiter="\n")
writer.writerow(str(round(df['Price'].mean(),2)))
writer.writerow(str(round(df['Price'].median(),2)))
for each in mode_series:
writer.writerow(str(each))
Я пытаюсь вывести среднее & медиану (до 2 десятичных знаков) в строках 1,2 и режимы в следующих строках в CSV-файле.
Ожидаемый вывод:
923.19
950.20
900
900
Вывод кода:
9,2,3,.,1,9
9,5,0,.,2,0
9,0,0
9,0,0
Пожалуйста, помогите, как это исправить? Я понимаю, что проблема связана с разделителем, но я могу оставить пустой разделитель, и строка записывается как char за char. Если я удаляю строковое преобразование в
writer.writerow(str(round(df['Price'].mean(),2)))
writer.writerow(str(round(df['Price'].median(),2)))
, тогда выдается другая ошибка Error: iterable expected, not float
.