如何比较pandas中的两个dataframe列?

2024-06-01 09:42:16 发布

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

我有两个数据帧具有相同的列。我想按列比较这两个数据帧

例如:

假设我们有两个数据帧- df1&;df2

系统日期-2020-11-19

df1:

Programname     Projectnum   Drug       Genericname     Indication      Publisheddate
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes        2/3/2016

df2:

Programname     Projectnum   Drug       Genericname     Indication      Publisheddate
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes        2/3/2016

我需要比较df1和;df2。在上述示例中,df1和;df2完全匹配。 因此,我们将以这种方式更新df2-

我们将把系统日期填入CDE_rec_crdt_dt CDE_rec_effctv_strtdt

df2:

Programname     Projectnum   Drug       Genericname     Indication  Publisheddate CDE_rec_crdt_dt  Cde_Rec_effctv_strt_dt  Cde_Rec_effec_end_dt
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes    2/3/2016      2020-11-19        2020-11-19 

但假设:

系统日期-2020-11-20

df1:

Programname     Projectnum   Drug       Genericname     Indication      Publisheddate
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes_type    2/3/2016

在df2中,“指示”列的值与df1不匹配。因此,我们需要更新df2中的三列“CDE_rec_crdt”、“CDE_rec_effctv_strt_dt”、“CDE_rec_effect_end_dt”,并按如下方式填写记录-

df2:

Programname     Projectnum   Drug       Genericname     Indication  Publisheddate CDE_rec_crdt_dt  Cde_Rec_effctv_strt_dt  Cde_Rec_effec_end_dt
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes      2/3/2016          2020-11-19   2020-11-19              2020-11-20 
Non-Oncology    SR0480-000   Invokamet  Canagliflozin   Diabetes_type 2/3/2016          2020-11-19   2020-11-20  

Tags: dtdiabetesdf1df2nonreccdedrug