繁体   English   中英

连接或合并两个 dataframe pandas

[英]Concat, or merge two dataframe pandas

我这里有两个数据帧,第一个数据帧的形状是 (10840, 109),第二个是 (0,112)

我想连接/合并上面的两个数据框。 我试过df_part_2 = pd.concat([df_revisi_data,df_migrasi_part2],axis=1) ,但结果是 (10840, 221)。 我尝试了另一种方法df_part_2 = pd.concat([df_revisi_data,df_migrasi_part2],axis=0)但错误上升InvalidIndexError: Reindexing only valid with uniquely valued Index objects

老实说,第一个 dataframe 上的所有列都存在于第二个数据帧上。 然而,结果并没有达到我的预期。 新的 dataframe 形状的结果是 (10840,112),其中包含第一个 dataframe 的数据,但列引用了第二个 Z6A8064B5DF4794555500553C47DZ。

第一片 dataframe

    No  Lead ID*      Nama Petani   Point   Tanggal Pengajuan*  Nama PIC Utama* Email PIC Utama*    Grading Point*  CF0 FUA pov - Status*   CF0 FUA pov - Start Date*   ... CF10 Verifikasi PKS - Email PIC*    CF10 Open Limit - Status*   CF10 Open Limit - Start Date*   CF10 Open Limit - End Date* CF10 Open Limit - Remarks   CF10 Open Limit - Nama PIC* CF10 Open Limit - Email PIC*    Review \nby Eng Migrated \nby Eng   Note \nby Eng
0   1   5147hvhaau26    AMAN WIJAYA LOMBOK TENGAH   2021-08-01 00:00:00 Ria Arumsari    ria.arumsari@efishery.com   Grade B APPROVED    2021-08-01 00:00:00 ... fitria.rahma@efishery.com   ACTIVE  2021-10-16 00:00:00 2021-10-16 00:00:00 STATUS DETAIL: REMARKS: Fitria Rahma Nur S  fitria.rahma@efishery.com   TRUE    TRUE    None
1   2   512bcr75iqp8    SAHMA DAHNIARTI BENGKULU SELATAN    2021-08-01 00:00:00 Fitria Rahma Nur S  fitria.rahma@efishery.com   Grade A APPROVED    2021-08-01 00:00:00 ... fitria.rahma@efishery.com   ACTIVE  2021-08-27 00:00:00 2021-08-27 00:00:00 STATUS DETAIL: Next Step - Open Access REMARKS: Fitria Rahma Nur S  fitria.rahma@efishery.com   TRUE    TRUE    None
2   3   5124qwzj2vxv    CAHYO SUBEKTI   SLEMAN  2021-08-02 00:00:00 Fitria Rahma Nur S  fitria.rahma@efishery.com   Grade B APPROVED

第二个 dataframe 的切片(实际上只有 header 的列)

No  Kode Nominatif  Lead ID*    Nama Petani Point   Tanggal Pengajuan*  Nama PIC Utama* Email PIC Utama*    Requested Amount    Grading Point*  

我预期的结果:

    No  Kode Nominatif  Lead ID*    Nama Petani Point   Tanggal Pengajuan*  Nama PIC Utama* Email PIC Utama*    Requested Amount    Grading Point*
    1    nan           5147hvhaau26 AMAN WIJAYA LOMBOK TENGAH   2021-08-01 00:00:00

你能检查一下这个样本是否有帮助吗

df1 = pd.DataFrame({
    'col1' : [1,2,3,4,5],
    'col2' : [6,7,8,9,10],
    'col3': [11,12,13,14,15],
    'col4': [16,17,18,19,20]
    
})

df2 = pd.DataFrame(columns=["col3", "col4", "col5"])

连接使用

pd.concat([df1, df2], axis=0)

结果

col1    col2    col3    col4    col5
0   1.0 6.0 11  16  NaN
1   2.0 7.0 12  17  NaN
2   3.0 8.0 13  18  NaN
3   4.0 9.0 14  19  NaN
4   5.0 10.0    15  20  NaN

IIUC,你的第一个 df 有值,第二个 df 是空的。 第二个 df 在你想要 nan 的地方有额外的列。 让我知道我的理解是否错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM