indexes_for_zeroes = [] for i in range(len(features[-1])):     last_col = features[-1]     if last_col[i] == 0:         indexes_for_zeroes.append(last_col[i]) for i in range(len(features[0])):     if i in indexes_for_zeroes:         continue     valid_data = []     for j in range(len(features[-1])):         if features[-1][j] != 0:             valid_data.append(features[i][j])     median, st_dev = find_median_and_SD(features, i)     print(f'Feature {i} Median: {median} Standard Deviation: {st_dev}')

EBK JAVA PROGRAMMING
9th Edition
ISBN:9781337671385
Author:FARRELL
Publisher:FARRELL
Chapter8: Arrays
Section: Chapter Questions
Problem 9PE
icon
Related questions
Question

This code gets an error for going out of range in the last for loop. What can I do to fix this?

 

# Lucas Conklin
# 5772707
import csv
import statistics


def readCSVIntoDictionary(f_name):
    data = []
    with open(f_name) as f:
        reader = csv.reader(f)
        for row in reader:
            if not data:
                for index in range(len(row)):
                    data.append([])
            for index in range(len(row)):
                data[index].append(float(row[index]))
        f.close()
    return data


features = readCSVIntoDictionary("C:\\Users\\lucas\\Downloads\\pima.csv")
print(features)


def find_median_and_SD(data, feature):
    med = statistics.median(data[feature])
    rounded_med = round(med, 4)
    st_dev = statistics.stdev(data[feature])
    rounded_st_dev = round(st_dev, 5)
    return rounded_med, rounded_st_dev


for i in range(0, len(features)):
    (median, st_dev) = find_median_and_SD(features, i)
    print(f'Feature {i} Median: {median} Standard Deviation: {st_dev}')

indexes_for_zeroes = []

for i in range(len(features[-1])):
    last_col = features[-1]
    if last_col[i] == 0:
        indexes_for_zeroes.append(last_col[i])

for i in range(len(features[0])):
    if i in indexes_for_zeroes:
        continue
    valid_data = []
    for j in range(len(features[-1])):
        if features[-1][j] != 0:
            valid_data.append(features[i][j])
    median, st_dev = find_median_and_SD(features, i)
    print(f'Feature {i} Median: {median} Standard Deviation: {st_dev}')

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Table
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning