'numpy .float64' объект не имеет атрибута 'abs' - PullRequest
1 голос
/ 10 января 2020

У меня есть этот фрейм данных и код.

from pandas import DataFrame
import pandas as pd
import numpy as np

df = pd.DataFrame({'userId': [10,20,10,20,10,20,10,20],
                   'movieId': [500,500,800,800,700,700,1100,1100],  
                   'ratings': [4.5,4.5,2.0,2.0,4.0,1.5,3.5,2.5]})
def finding_rating(df):


    r = df.pivot(index="movieId",columns="userId")
    r.columns = ["u1","u2"]                                                                                                

    r["drate"] = r.u1.sub(r.u2).abs()
    v = r.drate.iloc[:-1].mean()-r.drate.iloc[-1].abs()
    print(r,v)

finding_rating(df)

Я пытаюсь принять значение abs () v, но оно выдает эту ошибку. 'numpy.float64' object has no attribute 'abs'

Ответы [ 2 ]

1 голос
/ 10 января 2020

Поскольку для работы со скалярами используйте:

v = abs(r.drate.iloc[:-1].mean()-r.drate.iloc[-1])
0 голосов
/ 10 января 2020

Вы вызываете abs () неправильно.

используйте как показано ниже:

    v = abs(r.drate.iloc[:-1].mean()-r.drate.iloc[-1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...