【发布时间】:2020-06-21 23:58:33
【问题描述】:
我有两个数据框,一个是:
movieId rating
9414 27914 5.0
9640 31945 5.0
15755 83161 5.0
16444 86975 5.0
17745 92783 5.0
17972 93991 5.0
18206 95494 5.0
18472 96799 5.0
18999 99243 5.0
19994 103875 5.0
另一个看起来像
movieId tagId relevance
1 1 0.02875
1 2 0.02375
1 3 0.06250
1 4 0.07575
1 5 0.14075
... ... ...
206499 1124 0.11000
206499 1125 0.04850
206499 1126 0.01325
206499 1127 0.14025
206499 1128 0.03350
我正在尝试过滤第二个数据帧,使其仅包含第一个数据帧中具有相应电影 ID 的值。我试过使用代码:
keys = list(df1.movieId)
mask = df2.index.isin(keys)
df2[mask]
我已经阅读了多索引,我认为这就是我的第二个 df 可以考虑的内容,但我仍然很难将其过滤掉这些新信息。任何帮助或指导表示赞赏。
【问题讨论】:
-
请添加您想要的输出。见How to create a Minimal, Reproducible Example。
-
嗨,我想要的输出将是 df2,其中包含不在 df1 中的 movieIds 的所有行都已删除。所以它会有: df2 = { 'movieId' : [27914, 27914, 27914... 31945, 31945, 31945, ..... 103875, 103875,...], 'tagId' : [1, 2, 3, ... 1, 2, 3, ... 1, 2...], 'relevance' : [float64, float64, float 64...] } 希望有帮助!
标签: python pandas dataframe multi-index