2024-09-26 18:12:49 发布
网友
我一直在尝试创建一个包含字符ID和字符母亲ID(如果有)的数据帧。我使用的数据是GoT字符,原始df可以在下面看到
dataframe1
我已经创建了一个数据框,存储所有字符的名称和他们的母亲的名字(如果他们有一个),但我寻找的字符和母亲的ID不是他们的名字
dataframe2
我曾尝试使用合并来解决这个问题,但到目前为止还无法实现
任何建议都将不胜感激
我尝试用两行数据帧重现您要求的内容:
dataframe1 = pd.DataFrame({'ID': ['C0000', 'Z000'], 'name': ['Viserys II Targaryen', 'Rhaenira Targaryen'], 'male': [1,0], 'mother': ['Rhaenira Targaryen', np.nan]}) dataframe2 = dataframe1[['name', 'mother']]
然后合并两个数据帧,即dataframe1和dataframe2:
merged_df = dataframe2.merge(dataframe1[['ID', 'name']], how = 'outer', on = 'name')
结果如下:
name mother ID Viserys II Targaryen Rhaenira Targaryen C0000 Rhaenira Targaryen NaN Z0000
然后,我们合并合并的_df和dataframe1:
final = merged_df.merge(dataframe1[['ID', 'name']], how = 'left', left_on = 'mother', right_on = 'name')
最后的结果是:
name_x mother ID_x ID_y name_y Viserys II Targaryen Rhaenira Targaryen C0000 Z0000 Rhaenira Targaryen Rhaenira Targaryen NaN Z0000 NaN NaN
列名_y可以删除,您可以根据需要重命名列ID_x和ID_y
我尝试用两行数据帧重现您要求的内容:
然后合并两个数据帧,即dataframe1和dataframe2:
结果如下:
然后,我们合并合并的_df和dataframe1:
最后的结果是:
列名_y可以删除,您可以根据需要重命名列ID_x和ID_y
相关问题 更多 >
编程相关推荐