擅长:python、mysql、java
<p><em>注意:</em>这取决于<code>Sales</code>是否没有{<cd2>}。如果它有任何<code>NaN</code>,我们将得到最后一行的错误判断。发生这种情况是因为我利用了移位列在最后一个位置留下<code>NaN</code>的便利性。在</p>
<pre><code>d = df.DateCompleted.dt.date
m = {True: 'Yes', False: 'No'}
s = df.groupby(d).Sales.shift(-1)
df = df.assign(NextTranSales=s).assign(LastRow=s.isnull().map(m))
print(df)
DateCompleted TranNumber Sales NextTranSales LastRow
0 2017-01-01 10:15:00 3133 130.31 103.12 No
1 2017-01-01 11:21:00 3531 103.12 99.23 No
2 2017-01-01 12:31:00 3652 99.23 NaN Yes
3 2017-01-02 09:31:00 3689 83.22 29.93 No
4 2017-01-02 10:31:00 3701 29.93 NaN Yes
5 2017-01-03 08:30:00 3709 31.31 NaN Yes
</code></pre>
<hr/>
<p>这样我们就可以摆脱<strong><em>no</em></strong><code>NaN</code>的限制</p>
^{pr2}$