# 读取评分数据文件 ratings = pd.read_csv("E:\\Recommender-System\\!Final\\ml-100k\\u.data", sep="\t", names=["user_id", "movie_id", "rating", "timestamp"]) # print(ratings) # 创建用户-电影评分矩阵 user_movie_matrix = pd.pivot_table(ratings, index="user_id", columns="movie_id", values="rating") print(user_movie_matrix.user_id) AttributeError: 'DataFrame' object has no attribute 'user_id'
时间: 2023-07-12 08:43:33 浏览: 48
根据您提供的代码,`user_movie_matrix`是一个以电影ID为列索引,以用户ID为行索引的DataFrame对象,因此无法访问`user_id`属性。如果您想访问行索引,可以使用`index`属性,例如:
```python
import pandas as pd
# 读取评分数据文件
ratings = pd.read_csv("E:\\Recommender-System\\!Final\\ml-100k\\u.data", sep="\t", names=["user_id", "movie_id", "rating", "timestamp"])
# 创建用户-电影评分矩阵
user_movie_matrix = pd.pivot_table(ratings, index="user_id", columns="movie_id", values="rating")
# 访问行索引
print(user_movie_matrix.index)
```
上述代码中,`user_movie_matrix.index`将返回用户ID的行索引。如果您要访问列索引,可以使用`columns`属性,例如:
```python
import pandas as pd
# 读取评分数据文件
ratings = pd.read_csv("E:\\Recommender-System\\!Final\\ml-100k\\u.data", sep="\t", names=["user_id", "movie_id", "rating", "timestamp"])
# 创建用户-电影评分矩阵
user_movie_matrix = pd.pivot_table(ratings, index="user_id", columns="movie_id", values="rating")
# 访问列索引
print(user_movie_matrix.columns)
```
上述代码中,`user_movie_matrix.columns`将返回电影ID的列索引。