【发布时间】:2022-01-20 21:29:55
【问题描述】:
我有以下数据框:
客户发票清单。
| Client | NetTotal | Issued |
|---|---|---|
| A | 1000 | 01/01/2021 |
| A | 2500 | 03/01/2021 |
| B | 1500 | 05/01/2021 |
| B | 2000 | 07/01/2021 |
相同客户的列表和促销优惠的日期。
| Client | ChangeDate |
|---|---|
| A | 02/01/2021 |
| B | 06/01/2021 |
日期格式为 dd/mm/yyyy。
我需要将它们展平到另一个数据框中,显示更改日期之前和之后的总数,如下所示:
| Client | ChangeDate | NetTotal | BeforeChange | AfterChange |
|---|---|---|---|---|
| A | 02/01/2021 | 3500 | 1000 | 2500 |
| B | 06/01/2021 | 3500 | 1500 | 2000 |
谢谢。
data_invoices = {'Client': ['A', 'A', 'B', 'B'], 'NetTotal': [1000,2500,1500,2000], 'Issued':['01/01/2021','03/01/2021', '05/01/2021', '07/01/2021']}
df_invoices = pd.DataFrame(data_invoices)
data_changes = {'Client': ['A', 'B'], 'ChangeDate': ['02/01/2021', '06/01/2021']}
df_changes = pd.DataFrame(data_changes)
【问题讨论】:
-
您可以将数据作为文本发布,以便我们将其粘贴到我们的 IDE 中吗?
-
@gold_cy 添加到 OP 中。
-
如果两个 DataFrame 中的日期相同,则此行在之前或之后或需要删除?
-
@jezrael 感谢您的反馈,我应该澄清这一点。如果发布日期在更改日期,则应包含在“之后”列中。
-
由
data_changes = {'Client': ['A', 'B'], 'ChangeDate': ['01/01/2021', '06/01/2021']}测试,应该可以正常工作
标签: python pandas dataframe date merge