import csv
from decimal import *
def mean(data_set):
return Decimal(sum(data_set))/len(data_set)
def variance(data_set):
mean_res = mean(data_set)
differences = []
squared_res = []
for elem in data_set:
differences.append(elem - mean_res)
for elem in differences:
squared_res.append(elem ** 2)
return mean(squared_res)
def standard_deviation(data_set):
variance_res = variance(data_set)
return variance_res ** Decimal('0.5')
if __name__ == "__main__":
with open("dog_data.csv", "r") as csv_file:
csv_reader = csv.reader(csv_file)
height_data = []
for row in csv_reader:
height_data.append(int(row[1]))
print "Mean: {}".format(mean(height_data))
print "Variance: {}".format(variance(height_data))
print "Standard Deviation:{}".format(standard_deviation(height_data))
여기 ValueError가 표시됩니다. 10 진수의 int()에 대한 리터럴이 잘못되었습니다. '높이 (mm)'.. 이것은 무엇을 의미 하는가? 이 오류를 어떻게 해결할 수 있습니까?ValueError : 밑이 10 인 int()에 대한 리터럴이 올바르지 않습니다.
이것은 셀에 숫자를 나타내는 문자열이 아니라 문자열 'Height (mm)'가 들어 있음을 의미합니다. CSV 파일을 다시 확인하십시오. 건너 뛸 필요가있는 헤더 행이있는 것 같습니다. – TigerhawkT3
int ("Height (mm)")를하면이 정확한 에러가 발생합니다. 질문을하기 전에 가장 먼저해야 할 일은 루프에서 사용 된 값에 대한 가정을 확인하는 것입니다. 간단한'print (row)'는 문제에 대해 많은 것을 밝힐 것이다. –