给定一个像下面这样的结构,对于登记日期中的每个日期,我如何计算关闭日期中前面几行中较早的值的数量?理想情况下,我希望将结果添加为一个新列。
| 类|登记日期|关闭日期|
| --|--|--|
| 一|二○ ○三年十月三十日|二零零三年十二月五日|
| 一|二零零三年十二月二十二日|2005年9月23日|
| 一|2005年9月6日|2005年9月29日|
| 一|2005年11月15日|2005年12月7日|
| 一|二○ ○六年二月二十七日|二○ ○六年三月二十八日|
预期结果:
| 类|登记日期|关闭日期|先前日期|
| --|--|--|--|
| 一|二○ ○三年十月三十日|二零零三年十二月五日| 0 |
| 一|二零零三年十二月二十二日|2005年9月23日| 1 |
| 一|2005年9月6日|2005年9月29日| 1 |
| 一|2005年11月15日|2005年12月7日| 3 |
| 一|二○ ○六年二月二十七日|二○ ○六年三月二十八日| 4 |
3条答案
按热度按时间xoefb8l81#
使用
triu
的可能选项:字符串
输出量:
型
ohfgkhjo2#
您可以在自定义
groupby.apply
函数中将numpy广播与tril
一起使用:字符串
输出量:
型
uz75evzq3#
您共享的数据已排序(在
Close Date
列上),因此二进制搜索应该足够了:字符串
如果你的数据没有排序,或者
Class
列是相关的,请在你的原始数据框中添加更多信息,并在Class
列中添加不同的条目(B
,C
,...)