目标:
我想要做的是将“别名”记录显示为“数据”旁边的列。别名记录都包含“开始日期”,但只有一些包含“结束日期”。 “结束日期”可能会显示产品是否已停产,或者是否已更改为另一种产品(例如,当 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 和日期列将其加入我的“数据”中。我不确定这是否是最有效或可行的方法。