繁体   English   中英

将 dataframe 的一列中的 nan 值替换为第二个 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列上合并df1df2 然后,用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.

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