gpt4 book ai didi

pandas - 根据 Pandas 中的公共(public)列值合并两个数据框

转载 作者:行者123 更新时间:2023-12-03 09:43:36 24 4
gpt4 key购买 nike

如何从具有共同列值的两个数据帧中获取合并数据帧,以便只有这些行使合并数据帧在特定列中具有共同值。

我有 5000 行 df1作为格式: -

    director_name   actor_1_name    actor_2_name    actor_3_name    movie_title
0 James Cameron CCH Pounder Joel David Moore Wes Studi Avatar
1 Gore Verbinski Johnny Depp Orlando Bloom Jack Davenport Pirates
of the Caribbean: At World's End
2 Sam Mendes Christoph Waltz Rory Kinnear Stephanie Sigman Spectre

和 10000 行 df2作为
movieId                   genres                        movie_title
1 Adventure|Animation|Children|Comedy|Fantasy Toy Story
2 Adventure|Children|Fantasy Jumanji
3 Comedy|Romance Grumpier Old Men
4 Comedy|Drama|Romance Waiting to Exhale

一个共同的列“movie_title”具有共同的值,并且基于它们,我想获取“movie_title”相同的所有行。其他要删除的行。

任何帮助/建议将不胜感激。

注意:我已经尝试过了
pd.merge(dfinal, df1, on='movie_title')

输出就像一行
director_name   actor_1_name    actor_2_name    actor_3_name    movie_title movieId title   genres

以及 ="outer"/"left", "right"的方式,我尝试了所有方法,但在删除 NaN 后没有得到任何行,尽管确实存在许多常见的列。

最佳答案

您可以使用 pd.merge :

import pandas as pd
pd.merge(df1, df2, on="movie_title")
仅保留在两个数据帧中都找到公共(public)键的行。如果您想保留左侧数据框中的所有行并仅添加 df2 中的值如果匹配键可用,您可以使用 how="left" :
pd.merge(df1, df2, on="movie_title", how="left")

关于pandas - 根据 Pandas 中的公共(public)列值合并两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43297589/

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