如何修复属性错误:'Series'对象在此python代码中没有属性'reforme'?

2024-04-26 21:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用knn算法建立一个推荐系统。我导入了pandas(最新版本0.24)并创建了一个稀疏矩阵。现在我用的是重塑函数,但它显示了错误。你知道吗

我用的是Jupyter笔记本。我已经导入了3个CSV

books = pd.read_csv('C:\\Users\\Shivam Upadhyay\\Desktop\\Project\\books\\BX-Books.csv', sep=';', error_bad_lines=False, encoding="latin-1")
books.columns = ['ISBN', 'bookTitle', 'bookAuthor', 'yearOfPublication', 'publisher', 'imageUrlS', 'imageUrlM', 'imageUrlL']
users = pd.read_csv('C:\\Users\\Shivam Upadhyay\\Desktop\\Project\\books\\BX-Users.csv', sep=';', error_bad_lines=False, encoding="latin-1")
users.columns = ['userID', 'Location', 'Age']
ratings = pd.read_csv('C:\\Users\\Shivam Upadhyay\\Desktop\\Project\\books\\BX-Book-Ratings.csv', sep=';', error_bad_lines=False, encoding="latin-1")
ratings.columns = ['userID', 'ISBN', 'bookRating']

query_index = np.random.choice(us_canada_user_rating_pivot.shape[0])
distances, indices = model_knn.kneighbors(us_canada_user_rating_pivot.iloc[query_index, :].reshape(1, -1), n_neighbors = 6)

for i in range(0, len(distances.flatten())):
    if i == 0:
        print('Recommendations for {0}:\n'.format(us_canada_user_rating_pivot.index[query_index]))
    else:
        print('{0}: {1}, with distance of {2}:'.format(i, us_canada_user_rating_pivot.index[indices.flatten()[i]], distances.flatten()[i]))

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-4-d2c9c594ec59> in <module>
      1 query_index = np.random.choice(us_canada_user_rating_pivot.shape[0])
----> 2 distances, indices = model_knn.kneighbors(us_canada_user_rating_pivot.iloc[query_index, :].reshape(1, -1), n_neighbors = 6)
      3 
      4 for i in range(0, len(distances.flatten())):
      5     if i == 0:

~\AppData\Roaming\Python\Python37\site-packages\pandas\core\generic.py in __getattr__(self, name)
   5065             if self._info_axis._can_hold_identifiers_and_holds_name(name):
   5066                 return self[name]
-> 5067             return object.__getattribute__(self, name)
   5068 
   5069     def __setattr__(self, name, value):

AttributeError: 'Series' object has no attribute 'reshape'

Tags: csvnameinselfindexquerybooksusers