我正在尝试将两个Pandas数据框连接在一起,部分使用相对顺序。想法是在接收到的表中获取字母#。
import pandas as pd
sntlist = [{'Link ID': 1, 'Sent date': '2020-01-01', 'Letter #': 1},
{'Link ID': 1, 'Sent date': '2020-01-02', 'Letter #': 2},
{'Link ID': 1, 'Sent date': '2020-01-03', 'Letter #': 3},
{'Link ID': 1, 'Sent date': '2020-01-15', 'Letter #': 4},
{'Link ID': 1, 'Sent date': '2020-01-20', 'Letter #': 5},
{'Link ID': 2, 'Sent date': '2020-01-01', 'Letter #': 10}]
df_snt = pd.DataFrame(sntlist)
df_snt['Sent date'] = pd.to_datetime(df_snt['Sent date'])
reclist = [{'Link ID': 1, 'Receive Date': '2020-01-02'},
{'Link ID': 1, 'Receive Date': '2020-01-04'},
{'Link ID': 1, 'Receive Date': '2020-01-17'},
{'Link ID': 1, 'Receive Date': '2020-01-18'},
{'Link ID': 2, 'Receive Date': '2020-01-02'}]
df_rec = pd.DataFrame(reclist)
df_rec['Receive Date'] = pd.to_datetime(df_rec['Receive Date'])
我正在尝试将已发送表中的字母#与接收表相关联。
我可以保证-
我不能保证-
听起来好像merge_ordered可能对我有帮助,但是我并不十分熟悉。
预期输出-
{'Letter #': 1, 'Receive Date': '2020-01-02,
'Letter #': 2, 'Receive Date': None,
'Letter #': 3, 'Receive Date': '2020-01-04',
'Letter #': 4, 'Receive Date': '2020-01-17',
'Letter #': 5, 'Receive Date': None,
'Letter #': 10, 'Receive Date': '2020-01-02'}