根据开始和结束日期将值映射到时间序列?

时间:2021-02-09 20:29:45

标签: python pandas

目标:

我想要做的是将“别名”记录显示为“数据”旁边的列。别名记录都包含“开始日期”,但只有一些包含“结束日期”。 “结束日期”可能会显示产品是否已停产,或者是否已更改为另一种产品(例如,当 id1 从橙色变为香蕉时)。实现此目标的最有效方法是什么?

示例数据

import pandas as pd

data = [
    ['1/1/2020', 'id1', 9000],
    ['1/1/2020', 'id2', 10000],
    ['1/1/2020', 'id1', 8000],
    ['1/3/2020', 'id3', 4000],
    ['1/4/2020', 'id1', 5000],
    ['1/6/2020', 'id2', 4000]
    ]

df1 = pd.DataFrame(data, columns = ['Date', 'ID', 'Quantity'])

id_data = [
    ['id1', '12/31/2020', '1/3/2020', 'orange'],
    ['id1', '1/3/2020', '', 'banana'],
    ['id2', '12/31/2020', '', 'carrot'],
    ['id3', '12/31/2020', '', 'apple']
    ]

df2 = pd.DataFrame(id_data, columns = ['ID', 'Start Date', 'End Date', 'Alias'])

我的尝试

此时我的倾向是尝试创建一个包含每个映射的每日快照(带有日期列)的表,然后使用 ID 和日期列将其加入我的“数据”中。我不确定这是否是最有效或可行的方法。

0 个答案:

没有答案
相关问题