在 Graphlab 或 Python 中查找特定行

Find particular rows in Graphlab or Python

在 Graphlab 中,

我正在处理较大列表中的一小部分电影。

  movieIds_5K_np = LL_features_SCD_min.to_numpy()[:,0]
  ratings_33K_np = ratings_33K.to_numpy()

movieIds_5K_np 是一个包含我的电影 ID 的数组。 “ratings_33K_np”是一个包含四列的数组,其中第二列包含所有电影的电影 ID。

我只需要 select ratings_33K_np 中其 ID 存在于“movieIds_5K_np”中的行。

我试过这种方法,但似乎不起作用:

 ratings_5K_np = ratings_33K_np[ratings_33K_np[:,2]==movieIds_5K_np] 

我如何在 Graphlab 中或使用一些 Python 库来做到这一点?我应该说最初 ratings_33KmovieIds_5K 是作为 SFrame 导入的。

谢谢

假设你有 2 个 sframe,你可以做一个 join,像这样:

ratings_5K = LL_features_SCD_min[['id_column_name']].join(ratings_33K, on='id_column_name', how='left')

据我从您的代码中了解到,LL_features_SCD_min 是对应于您的 miniset(5K 数据)的 sframe。因此,您只需获取所需的 ID,然后将它们与整个数据集连接起来,从而获得仅包含所需 ID 的新 sframe。只需替换您的 id 列名称即可。

有关 join 如何在 graphlab 中工作的更多信息,请考虑查看 SFrame 上的 documentation

祝你好运!