gpt4 book ai didi

python - 知道前两列的值后,如何从第三列中获取值

转载 作者:太空宇宙 更新时间:2023-11-03 20:11:23 25 4
gpt4 key购买 nike

当给出其他两列的值时,我想从第三列获取值。我希望每部电影和用户的评分值形成一个用户电影矩阵。

我已经在两个列表中获得了唯一的电影 ID 和用户 ID,并尝试查找频率与我想要的值匹配的实例

import pandas as pd
import numpy as np
import matplotlib as plot

def main():
df = pd.read_csv(r'/Users/ttbarack/Desktop/ratings.csv')
#print(df)
userIds = []
for id in df['userId']:
if id not in userIds:
userIds.append(id)
#print(userIds)
movieIds = []
for movie in df['movieId']:
if movie not in movieIds:
movieIds.append(movie)
#print(movieIds)


"""PART 1"""


finalList = []
for id in userIds:
newlist = []
for mov in movieIds:
newlist.append(df['rating'].where(df['userId'].values() == id and df['movieId'].values() == mov))
finalList.append(newlist)
print(finalList)

这是我收到的错误:

Traceback (most recent call last):
File "/Users/ttbarack/PycharmProjects/Proj1/Project2.py", line 29, in <module>
main()
File "/Users/ttbarack/PycharmProjects/Proj1/Project2.py", line 22, in main
newlist.append(df['rating'].where(df['userId'].values() == id and df['movieId'].values() == mov))
TypeError: 'numpy.ndarray' object is not callable

最佳答案

错误是因为您将 numpy 数组作为函数调用

用途:

newlist.append(df['rating'].where(df['userId'] == id and df['movieId'] == mov))

而不是

newlist.append(df['rating'].where(df['userId'].values() == id and df['movieId'].values() == mov))

关于python - 知道前两列的值后,如何从第三列中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58698739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com