合并两个数据帧,然后删除一个

2024-04-25 17:45:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧df_1df_2,它们有相互的colmm例如'Name'。无论'Name'列下面的名称如何不同,所以我将它们合并到df框架中,并用它们创建了几个新的列。你知道吗

是否可以删除df_2并保留所有新创建的列和dfu 1?一步也不走?一条线?或df_1df具有相同的列

df_1 Name Age Sex Jop RoomID 

df_1 Name Age Sex Jop address RoomID

df  Name Age Sex Jop address Fmaily_size  Floor_NR e.g

dfu 1看起来像这样Name Age Sex Jop address Fmaily_size Floor_NR e.gdf相同的列、类型和顺序。你知道吗


Tags: 数据name名称dfagesizeaddressnr
2条回答

考虑使用left连接合并来保留来自一个数据帧(即dfu 1)的与另一个数据帧(即dfu 2)匹配或不匹配的所有记录。不匹配的记录将导致合并列的NAN。否则使用默认的inner,它在两个帧中保持匹配的记录。你知道吗

根据您的注释,其中xtest=same columns,但是df_1中的数据位于结果数据帧下方,xtest是两个帧中的所有列,只保留df_1记录:

xtest = pd.merge(df_1, df_2, on='Name', how='left')
# OR xtest = df_1.merge(df_2, on='Name', how='left')

IIUC公司:

df_1.merge(
    df_2, on='Name', how='outer',
    suffixes=['', '_']
).reindex_axis(df_1.columns.tolist(), 1)

相关问题 更多 >