~ Что я сделал ~
В первой части этого задания мне нужно было взять данные (отсюда: [ссылка] https://en.wikipedia.org/wiki/Programme_for_International_Student_Assessment_(2000_to_2012)) о баллах по математике, естественным наукам и чтению и поместить их в три отдельные таблицы с названием страны и оценка.
Затем мне пришлось объединить диаграммы по названию страны и найти среднее из трех баллов. Затем я должен был упорядочить их и привести в порядок по рангу.
~ Что мне нужно сделать ~
Затем мне нужно создать функцию, чтобы найти выбросы (превышающие стандартное отклонение более чем в 1,8 раза) для различных заголовков строк столбца (среднее, математическое, научное и читательское), найти выброс в этих оценках, и распечатать страну для выбросов под этим заголовком. Мне нужно пройти через строку (среднее значение, оценка по математике, оценка по науке, оценка по чтению) и получить список названий стран.
Я попытался адаптировать предыдущее назначение, в котором нам нужно было найти выбросы в одном наборе данных и ~ удалить их из данных. У этого было много математики для нахождения среднего и стандартного отклонения, поэтому я попытался упростить это здесь. В этом мне просто нужно выяснить, где происходят выбросы.
tempDF - это временный фрейм данных, созданный с использованием комбинированных диаграмм.
tempDF
def find_outlier(str):
outliers = []
found = True
while found:
for i in range(len(str)):
mean = (tempDF[str].mean())
std = (tempDF[str].std())
distance = abs((str[i]-mean)/std)
if distance > 1.8:
outliers = outliers.append()
print("The outliers in ", str, " are ", outliers)
found=True
break
found = False
find_outlier("Average")
find_outlier("Math Score")
find_outlier("Science Score")
find_outlier("Reading Score")
В каждой категории («Среднее значение», «Математика», «Наука», «Чтение») должно быть напечатано «Выбросы в среднем: [« Китай, Шанхай, Китай »,« Катар »,« Перу »] и т. Д.).
Теперь я получаю сообщение об ошибке «Ошибка типа: невозможно выполнить уменьшение с помощью гибкого типа». Я предполагаю, что числа в столбцах могут быть строками, а не числами.