Округление / форматирование десятичных дробей с использованием панд, чтение из столбцов CSV-файла - PullRequest
0 голосов
/ 04 мая 2019

Необходимо прочитать CSV-файл и вывести его минимальное, максимальное, диапазон и стандартное отклонение для каждого из 3 столбцов в файле.Это не проблема, которую я имею.У меня возникли проблемы с тем, что, как мне кажется, должно быть относительно просто, выводить результаты округлять до 2 десятичных знаков.Хотя в действительности это не является необходимым, поскольку программа делает то, что ей нужно, было бы здорово, если бы ее можно было отформатировать для представления

Я подошел к этой проблеме с помощью панд, вычислив четыре частипроблема была легкой, но я не могу, по жизни, узнать, как округлить любое из десятичных дробей.Я пробовал .round () и различные другие строки кода, но я все еще захожу в тупик

import pandas as pd

df = pd.read_csv('Exam-Data-Dstat.csv')



col_name =df.columns[0]
df=df.rename(columns = {col_name:'Ease'})



col_name =df.columns[1]
df=df.rename(columns = {col_name:'Useful'})

col_name =df.columns[2]
df=df.rename(columns = {col_name:'Intent'})


print("Min, Max, Range, Mean, and SD of Ease: ")
print (df.Ease.min())

print (df.Ease.max())

print (df.Ease.max() - df.Ease.min()) 

print (df.Ease.mean())

print (df.Ease.std())

print("\n")

print("Min, Max, Range, Mean, and SD of Useful: ")
print (df.Useful.min())

print (df.Useful.max())

print (df.Useful.max() - df.Useful.min())

print (df.Useful.mean())

print (df.Useful.std())

print("\n")

print("Min, Max, Range, Mean, and SD of Intent: ")
print (df.Intent.min())

print (df.Intent.max())

print (df.Intent.max() - df.Intent.min())

print (df.Intent.mean())

print (df.Intent.std())

Как я уже сказал, все, что уже отображается при запуске в терминале, должновыйти с округлением до 2 знаков после запятой, это единственное, что мне действительно нужно помочь.Я довольно новичок в Python и у меня всего несколько месяцев опыта

Ответы [ 2 ]

0 голосов
/ 05 мая 2019

Вы можете использовать встроенные питоны круглая функция .

print(round(df.Useful.mean(), 2))

2 означает, что вы хотите напечатать 2 цифры после точки.

0 голосов
/ 05 мая 2019

Здесь вы пытаетесь отформатировать выходные данные для функции печати, а не значения данных.

Итак, вы можете отформатировать выходные данные следующим образом:

print("%.2f" % df.Ease.min())

the "%.2f" означает, что вы хотите напечатать 2 цифры после точки для значения типа с плавающей запятой

...