在保留初始信息的同时合并列上的 DataFrame
尽管使用 Pandas 的合并功能,但在合并数据帧 df1 和 df2 时遇到困难在“名称”列上,同时保留 df1信息。
问题:
在合并操作中:
df1 = pd.merge(df1, df2, on = 'Name', how = 'outer ')
您正在执行外部联接,其中包括来自两个数据帧的个体。这会导致 df2 中的个体包含在 df1 中,即使它们最初没有出现在 df1 中。
解决方案:
要解决此问题,您可以使用一个以下方法之一:
方法 1:使用由创建的系列地图set_index:
df1['Sex'] = df1['Name'].map(df2.set_index('Name')['Sex'])
此方法建立一个系列,其中“Name”作为 df2 的“Sex”列的索引。然后,df1 的“Name”列映射到该系列以分配匹配的“Sex”值。通过将缺失值设置为 NaN 来解决。
方法 2:执行左连接:
df = df1.merge(df2[['Name','Sex']], on='Name', how='left')
左连接可确保 df1 中的个体优先,如果缺失值不存在于中,则用 NaN 填充df2.
注意事项:
以上是如何合并一列上的数据帧,同时保留一个数据帧中的初始信息?的详细内容。更多信息请关注PHP中文网其他相关文章!