我正在尝试为财务数据建立一个通用的匹配过程。目标是获取一组具有较大事务的数据,并将其与具有较小事务的数据集相匹配。有的是一对多,有的是一对一。 在某些情况下,它可能会被反转,方法的一部分是以相反的顺序反馈未命中的匹配,以捕获那些可能的匹配。在
我要迭代三个模块,但我要完成三个不同的模块。我在我的数据中看到了可能的匹配项,这些匹配项应该被提取,但是没有。在
也没有明确的匹配标准,所以假设是如果我将数据集按日期顺序排列,并寻找匹配值,我希望第一个匹配,因为它应该更接近于同一时间段。在
我正在使用Pandas和Itertools,但可能不是理想的格式。任何帮助,以获得一致的匹配将不胜感激。在
Data examples:
Large Transaction Size:
AID AIssue Date AAmount
1508 3/14/2018 -560
1506 3/27/2018 -35
1500 4/25/2018 5000
Small Transaction Size:
BID BIssue Date BAmount
1063 3/6/2018 -300
1062 3/6/2018 -260
839 3/22/2018 -35
423 4/24/2018 5000
Expected Results
AID AIssue Date AAMount BID BIssue Date BAmount
1508 3/14/2018 -560 1063 3/6/2018 -300
1508 3/14/2018 -560 1062 3/6/2018 -260
1506 3/27/2018 -35 839 3/22/2018 -35
1500 4/25/2018 5000 423 4/24/2018 5000
but I usually get
AID AIssue Date AAMount BID BIssue Date BAmount
1508 3/14/2018 -560 1063 3/6/2018 -300
1508 3/14/2018 -560 1062 3/6/2018 -260
1506 3/27/2018 -35 839 3/22/2018 -35
5000不匹配。这是一个例子,但是当观察更大的数据集时,正负似乎不是因素。在
当检查每个不匹配的结果时,我看到至少有一个$5000的交易,我希望是1-1匹配,但它不在结果中。在
^{pr2}$
在我的模块iterate“one”to“u many”中,我计算的行长度不正确。我需要替换
与
^{pr2}$IIUUC,匹配只是在大的
DataFrame
中查找事务,该事务是在小事务中的事务上或与事务最近的未来事务。您可以使用pandas.merge_asof()
根据将来最近的日期执行匹配。在
^{pr2}$merged
现在是:如果你期望事情永远不匹配,你也可以抛出一个
tolerance
将匹配限制在一个较小的窗口内,这样一来,DataFrame
中缺少的值不会将所有内容都丢弃。在相关问题 更多 >
编程相关推荐