Python Pandas-将df中的列转换为另一个df中存储的ID
我一直在尝试创建一个包含字符ID和字符母亲ID(如果有)的数据帧。我使用的数据是GoT字符,原始df可以在下面看到 我已经创建了一个数据框,存储所有字符的名称和他们的母亲的名字(如果他们有一个),但我寻找的字符和母亲的ID不是他们的名字 我曾尝试使用合并来解决这个问题,但到目前为止还无法实现Python Pandas-将df中的列转换为另一个df中存储的ID,python,pandas,Python,Pandas,我一直在尝试创建一个包含字符ID和字符母亲ID(如果有)的数据帧。我使用的数据是GoT字符,原始df可以在下面看到 我已经创建了一个数据框,存储所有字符的名称和他们的母亲的名字(如果他们有一个),但我寻找的字符和母亲的ID不是他们的名字 我曾尝试使用合并来解决这个问题,但到目前为止还无法实现 如果您有任何建议,我将不胜感激。我已尝试使用两行数据帧重现您所要求的内容: dataframe1 = pd.DataFrame({'ID': ['C0000', 'Z000'], 'name': ['V
如果您有任何建议,我将不胜感激。我已尝试使用两行数据帧重现您所要求的内容:
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
列名可以删除,您可以根据需要重命名列ID\u x和ID\u y。欢迎使用Stackoverflow。请改为以文本格式添加,以便我们能够在回答您的问题时复制这些内容。请花点时间阅读