【发布时间】:2021-07-02 14:13:51
【问题描述】:
假设我有以下数据集
ID | Name | balance | Year
112 Johnstown $321 2020
321 Oregon $214 2020
121 Jackson $254 2020
以及以下传入的数据集
112 Johnstown $321 2021
321 Oregon $216 2020
121 Jackson $254 2020
我想做的是结合这两个数据集,同时保留季节性的概念。基本上,如果记录的年份以外的任何字段发生更改,请更新该记录。但是,如果记录的年份发生了变化,那就创造一个新的记录。
所以在我们的例子中,结果数据集看起来像这样
112 Johnstown $321 2021
112 Johnstown $321 2020
321 Oregon $216 2020
121 Jackson $254 2020
这本质上是一个 upsert 操作,我认为它是对 ID 和 season 组合键的 upsert。基本上,如果 ID 和季节相同,则更新现有记录,如果它们不同,则添加新记录。换句话说
- 如果记录完全相同,则什么也不做
- 如果记录不同但年份/ID 相同,则获取记录 来自新数据集
3.如果记录不同并且年份/id 是 不一样创造新纪录
数据框可以做到这一点吗?如果没有,我应该考虑另一种结构来实现它吗?我们的数据集只是 parquet 文件,因此我们可以随意操作它们
【问题讨论】:
标签: python pandas dataframe parquet