Пользовательская функция вычисления медианы (со строками) - PullRequest
0 голосов
/ 13 февраля 2019

Я выполняю упражнение из DataQuest и пытаюсь найти медиану столбца со строками.

Столбец TotRms AbvGrd в кадре данных дома.Пример столбца: [4, 6, 2, 6, 4, 10 или более и т. Д.]

comparator = lambda x : int(x.split()[0]) if type(x) is str else x

def median_calc(array):
    sorted_list = sorted(array, key=comparator)
    if len(sorted_list) % 2 == 1:
        median = sorted_list[int((len(array)/2))]
        return median
    else:
        middle_indices = [int((len(sorted_list)/2)), int((len(sorted_list)/2 + 1))]
        median = sum(sorted_list[middle_indices]) / 2
        return median

median = median_calc(houses['TotRms AbvGrd'])

У меня возникли проблемы с поиском значения индекса востальное утверждение.Как я должен искать значение с учетом индекса?

TypeError: списочные индексы должны быть целыми числами, а не кортежем

1 Ответ

0 голосов
/ 13 февраля 2019

Поскольку дома выглядят как фрейм данных панд, вы можете просто использовать встроенную функцию median.

Пример:

df = pd.DataFrame({'TotRms AbvGrd': ['4', '6', '2', 7, 8, '10']})
df['TotRms AbvGrd'].median()
# 6.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...