在Python中合并不同长度的数据帧。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中合并不同长度的数据帧。相关的知识,希望对你有一定的参考价值。

我的第一个数据框是df_movieid_genre。

第二个数据帧是df_fraction_data。

我需要加入他们根据movieID。内部或外部连接是不会工作,因为df_fraction_data包含重复的movie_ids。我想可以使用for循环,但我是一个初学者,有一个问题,这样做。先谢谢你... 我需要这样的东西(只是一个小例子

答案

试试这个。

df = pd.merge(left=df_movieid_genre, right=df_fraction_data, on=['Movie_Id'], how='inner')
另一答案

你可以做的是 组别 df_fraction with movie_id and access each group and attach the row with that movie_id.

import pandas as pd

def merger(df,df2):
    row_to_be_merge = df2[ df2.index[ df2['Movie_id']==df.name][0] ]   

    df['Genre'],df['Movie_name'] = row_to_be_merge[['Genre','Movie_name']]

    return df

merged_df = df_fraction.group_by('Movie_id').apply(merger, df2 = df_movieid_genre)

应用 将运行 合并 在每个组的数据帧上和 合并 函数将连接 种类电影名称 该行的 电影IDdf_movieid_genre 该组的每一行的数据帧。希望能帮到你:)

以上是关于在Python中合并不同长度的数据帧。的主要内容,如果未能解决你的问题,请参考以下文章

在python中合并具有不同长度和列的数据框列表

将没有唯一索引的数据帧与 Python 和 Pandas 合并 [重复]

在python中合并具有不同时间频率的系列/数据帧

熊猫在不同长度的列上合并两个数据框

Python合并两个具有不同日期时间的数据框[重复]

合并具有不同索引的两个数据帧,同时使用一行代码保留主数据帧的索引