python - 如何通过多个键连接两个数据框?

标签 python pandas dataframe

我需要将数据帧 df_original 中的“评级”列(通过键、“userId”和“movieId”)与数据帧 df_workspace 连接起来。

>数据框df_workspace

    userId  movieId  cluster
0         1        2        2
1         1       29        2
2         1      260        2
3         1      589        2
4         1      653        2
5         1      919        2
6         1     1009        2
7         1     1196        2
8         1     1198        2
9         1     1200        2
10        1     1201        2
11        1     1291        2
12        1     1304        2
13        1     1374        2
14        1     1525        2
15        1     1750        2
16        1     1920        2
17        1     1967        2
18        1     2021        2
19        1     2138        2
20        1     2140        2
21        1     2143        2
22        1     2173        2
23        1     2193        2
24        1     2628        2
25        1     2761        2
26        1     2872        2
27        1     3000        2
28        1     3030        2
29        1     3037        2

>数据框df_original

   userId  movieId                                              title  \
0       1        2                                     Jumanji (1995)   
1       1       29  City of Lost Children, The (Cité des enfants ...   
2       1       32          Twelve Monkeys (a.k.a. 12 Monkeys) (1995)   
3       1       47                        Seven (a.k.a. Se7en) (1995)   
4       1       50                         Usual Suspects, The (1995)   
5       1      112         Rumble in the Bronx (Hont faan kui) (1995)   
6       1      151                                     Rob Roy (1995)   
7       1      223                                      Clerks (1994)   
8       1      253  Interview with the Vampire: The Vampire Chroni...   
9       1      260          Star Wars: Episode IV - A New Hope (1977)   

                                   genres  rating                timestamp  
0              Adventure|Children|Fantasy     3.5  2005-04-02 23:53:47.000  
1  Adventure|Drama|Fantasy|Mystery|Sci-Fi     3.5  2005-04-02 23:31:16.000  
2                 Mystery|Sci-Fi|Thriller     3.5  2005-04-02 23:33:39.000  
3                        Mystery|Thriller     3.5  2005-04-02 23:32:07.000  
4                  Crime|Mystery|Thriller     3.5  2005-04-02 23:29:40.000  
5           Action|Adventure|Comedy|Crime     3.5  2004-09-10 03:09:00.000  
6                Action|Drama|Romance|War     4.0  2004-09-10 03:08:54.000  
7                                  Comedy     4.0  2005-04-02 23:46:13.000  
8                            Drama|Horror     4.0  2005-04-02 23:35:40.000  
9                 Action|Adventure|Sci-Fi     4.0  2005-04-02 23:33:46.000 

>输出示例

    userId  movieId  cluster   rating
0         1        2        2   3.5
1         1       29        2   4.0
2         1      260        2   3.5
3         1      589        2   2.0
4         1      653        2   5.0
5         1      919        2   4.5

我尝试使用 join,但我不明白如何使用多个键。

最佳答案

尝试:

df_workspace.merge(df_original[['userId','movieId','rating']])

merge默认情况下,连接所有标记相同的列。并且,通过过滤 df_orginal 数据帧列,您只能获得所需的输出列。

关于python - 如何通过多个键连接两个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52460724/

相关文章:

parsing - Pandas 日期转换器

python - 计算 pandas 数据框中的所有类别并添加它们的值

r - 提取由具有大量级别的多个因素定义的行

python - 如何在 Wine 模拟的 python 版本(在 docker 容器内)中正确安装和运行 pip?

python - merge pull 请求后升级模块

Python:pydoc 模块可以输出具有相对路径的 HTML 文档吗?

python - “系列”对象没有属性“values_counts”

python - Keras - 负余弦邻近损失

python - 将数据框列值转换为列表

python - Pandas groupby 具有滚动日期偏移的多列 - 如何?