![](/img/trans.png)
[英]Replace values from one column by comparing another column to a second DataFrame
[英]Replace nan values in one column of a dataframe with another column value of second dataframe
我有一个 dataframe df1,它具有客户 ID 和 min_date,第二个 dataframe 有一个列 open_dt,其中有一些 nan 值,我想用与 customerid 匹配的 min_date 值替换
df1
CUSTOMERID OPEN_DT
0 BATCH7MRN1 2019-03-26
1 BATCH7MRN10 2016-09-02
2 BATCH7MRN100 2016-04-30
3 BATCH7MRN101 2016-09-15
4 BATCH7MRN102 2020-03-05
... ... ...
376 BATCH7MRN94 2020-10-17
377 BATCH7MRN96 2016-12-21
378 BATCH7MRN97 2021-02-25
379 BATCH7MRN98 2010-08-27
380 BATCH7MRN99 2019-03-20
df2
CUSTOMERID OPEN_DT
0 BATCH7MRN1 2019-03-26
1 BATCH7MRN1 2019-03-26
2 BATCH7MRN1 2019-03-26
3 BATCH7MRN1 2019-03-26
4 BATCH7MRN1 2019-03-26
... ... ...
36115 BATCH7MRN99 2021-11-02
36116 BATCH7MRN99 2021-11-02
36117 BATCH7MRN99 2021-11-02
36118 BATCH7MRN99 2021-11-02
36119 BATCH7MRN99 2021-11-02
我已经尝试加入两者并用最小日期替换 nan 值字段,但它没有奏效
IIUC,首先在CUSTOMERID
列上合并df1
和df2
。 然后,用df1
中的合并列替换 nan 值。
df2 = df2.merge(df1, on='CUSTOMERID', suffixes=['2', '1'])
df2.loc[df2['OPEN_DT_2'].isnull(), 'OPEN_DT_2'] = df2['OPEN_DT_1']
df2 = df2.drop(columns='OPEN_DT_1')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.