неподдерживаемые типы операндов для -: 'list' и 'list' - PullRequest
1 голос
/ 03 ноября 2019
import numpy as np
def answer_seven():
    counties = census_df[['POPESTIMATE2010','POPESTIMATE2011','POPESTIMATE2012','POPESTIMATE2013','POPESTIMATE2014','POPESTIMATE2015']]
return counties[[counties.max(axis=1)]-[counties.min(axis=1)]].abs().idxmax()

TypeError: unsupported operand type(s) for -: 'list' and 'list'

Выше мой код, который не работает, и я получил это сообщение об ошибке.

Но приведенный ниже код работает.

import numpy as np
def answer_seven():
    counties_df = census_df[census_df['SUMLEV'] == 50][['CTYNAME','POPESTIMATE2010','POPESTIMATE2011','POPESTIMATE2012','POPESTIMATE2013',
                                                       'POPESTIMATE2014','POPESTIMATE2015']]
    counties_df["MaxDiff"] = abs(counties_df.max(axis=1) - counties_df.min(axis=1))
    most_change = counties_df.sort_values(by=["MaxDiff"], ascending = False)
    return most_change.iloc[0][0] 

Он также использует функцию max и min для получения максимальной разницы, которая использует список для вычитания другого списка. Может ли кто-нибудь объяснить мне, почему мой код не работает, а этот работает? Спасибо!

1 Ответ

1 голос
/ 03 ноября 2019

Проблема здесь -

return counties[[counties.max(axis=1)]-[counties.min(axis=1)]]

Вы вычитаете два списка, я думаю, что редактирование ниже должно заставить его работать

return counties[counties.max(axis=1)-counties.min(axis=1)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...