【发布时间】:2021-03-08 17:17:23
【问题描述】:
我正在寻找类似于this one 的解决方案,但适用于多个列。所以我有这个table1:
date client_id product_id date2 col2 col3
1/1/15 1 A 1/1/20 50 AAA
1/2/15 2 B 1/3/30 40 BBB
1/3/15 2 B NaN NaN NaN
我需要将它与table2 合并:
date client_id product_id date3 col2 col3
1/1/15 1 A 1/1/20 1000 XXX
1/2/15 2 B NaN NaN NaN
1/3/15 2 B 2/3/27 3000 ZZZ
产生像这样的table1(预期输出):
date client_id product_id date2 col2 col3
1/1/15 1 A 1/1/20 50 AAA
1/2/15 2 B 1/3/30 40 BBB
1/3/15 2 B 2/3/27 3000 ZZZ
table1 和 table2 的行数相同,因为两个表的键列(date、client_id、product_id)相同。但是,它们的主要区别在于date2、date3。如果date2 为空,则所有col 列都将为空(从col2 到col500),date3 也是如此。但是,在给定键列的情况下,我需要用 date3 的值替换 date2 为 null 的位置。
开头链接中的解决方案为您需要替换的每一列创建一个辅助列,但对于 500 列的数据集是不切实际的。
有什么建议吗?
【问题讨论】: