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

问题描述 投票:0回答:1

我的第一个数据框是df_movieid_genre。

第二个数据帧是df_fraction_data。

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

python pandas dataframe
1个回答
0
投票

试试这个。

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

0
投票

你可以做的是 组别 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 该组的每一行的数据帧。希望能帮到你:)

© www.soinside.com 2019 - 2024. All rights reserved.