как исправить ошибку вычисления, которая говорит, что объект DataFrame не вызывается - PullRequest
2 голосов
/ 07 апреля 2019

Я работаю над набором футбольных данных, и это следующая ошибка, которую я получаю. пожалуйста помогите,

#what is the win rate of HomeTeam?





n_matches = df.shape[0]



n_features = df.shape[1] -1

n_homewin = len(df(df.FTR == 'H'))

win_rate = (float(n_homewin) / (n_matches)) * 100

print ("Total number of matches,{}".format(n_matches))
print ("Number of features,{}".format(n_features))
print ("Number of maches won by hom team,{}".format (n_homewin))
print ("win rate of home team,{:.2f}%" .format(win_rate))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-122-7e4d81fc684e> in <module>
      5 n_features = df.shape[1] -1
      6 
----> 7 n_homewin = len(df(df.FTR == 'H'))
      8 
      9 win_rate = (float(n_homewin) / (n_matches)) * 100

TypeError: объект 'DataFrame' не является Ожидаемый результат должен печатать коэффициент выигрыша команды

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Я думаю, что проблема с (), необходимо [] для фильтрации по boolean indexing:

n_homewin = len(df[df.FTR == 'H'])

Или более простым подсчетом True s значений по sum:

n_homewin = (df.FTR == 'H').sum()
0 голосов
/ 07 апреля 2019

Вы должны изменить его на df[df.FTR == 'H']. Скобки подразумевают вызов функции

...