获取DataFrame列中上一个匹配项的索引



我有一个股票买卖交易的数据帧trans_df。我正在尝试创建一个列来汇总以前的所有交易,并创建另一个列,将当前交易添加到以前的累计交易金额中。

我的输入df如下所示:

<p>&nbsp;</p>
<table style="border: none;border-collapse: collapse;width:194pt;">
<tbody>
<tr>
<td style="color:black;font-size:15px;font-weight:700;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:top;border:.5pt solid windowtext;height:14.4pt;width:98pt;">date</td>
<td style="color:black;font-size:15px;font-weight:700;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:top;border:.5pt solid windowtext;border-left:none;width:48pt;">ticker</td>
<td style="color:black;font-size:15px;font-weight:700;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:top;border:.5pt solid windowtext;border-left:none;width:48pt;">quantity</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2020-01-08</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">MMM</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">1</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2020-01-08</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">RUN</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">10</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2020-01-09</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">AAPL</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">10</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2020-02-10</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">RUN</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">20</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2020-03-16</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">MMM</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">2</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-09</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">F</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">5</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-10</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">MMM</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">3</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-11</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">RUN</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">30</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-12</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">RUN</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">-5</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-13</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">AAPL</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">-5</td>
</tr>
<tr>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:general;vertical-align:bottom;border:none;text-align:center;height:14.4pt;">2021-01-14</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:center;vertical-align:bottom;border:none;">MMM</td>
<td style="color:black;font-size:15px;font-weight:400;font-style:normal;text-decoration:none;font-family:Calibri, sans-serif;text-align:right;vertical-align:bottom;border:none;">6</td>
</tr>
</tbody>
</table>

我最终想要的是:

<table style="border: none;width:373.0pt;margin-left:-.05pt;border-collapse:collapse;">
<tbody>
<tr>
<td style="width: 98pt;border: 1pt solid windowtext;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">date</span></strong></p>
</td>
<td style="width: 48pt;border-color: windowtext windowtext windowtext currentcolor;border-style: solid solid solid none;border-width: 1pt 1pt 1pt medium;border-image: none 100% / 1 / 0 stretch;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">ticker</span></strong></p>
</td>
<td style="width: 48pt;border-color: windowtext windowtext windowtext currentcolor;border-style: solid solid solid none;border-width: 1pt 1pt 1pt medium;border-image: none 100% / 1 / 0 stretch;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">quantity</span></strong></p>
</td>
<td style="width: 77pt;border-color: windowtext windowtext windowtext currentcolor;border-style: solid solid solid none;border-width: 1pt 1pt 1pt medium;border-image: none 100% / 1 / 0 stretch;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">last_entry</span></strong></p>
</td>
<td style="width: 53pt;border-color: windowtext windowtext windowtext currentcolor;border-style: solid solid solid none;border-width: 1pt 1pt 1pt medium;border-image: none 100% / 1 / 0 stretch;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">prev_units</span></strong></p>
</td>
<td style="width: 49pt;border-color: windowtext windowtext windowtext currentcolor;border-style: solid solid solid none;border-width: 1pt 1pt 1pt medium;border-image: none 100% / 1 / 0 stretch;padding: 0in 5.4pt;height: 0.2in;vertical-align: top;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:center;'><strong><span style="color:black;">cml_units</span></strong></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2020-01-08</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">MMM</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">1</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;"><br></td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">0</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">1</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2020-01-08</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">RUN</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">10</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;"><br></td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">0</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">5</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2020-01-09</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">AAPL</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">10</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;"><br></td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">0</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">10</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2020-02-10</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">RUN</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">20</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">1</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">5</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">25</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2020-03-16</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">MMM</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">0</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">1</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">3</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-09</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">F</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">5</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;"><br></td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">0</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;"><br></td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-10</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">MMM</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">3</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">5</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">3</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">6</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-11</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">RUN</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">30</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">4</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">25</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">55</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-12</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">RUN</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">-5</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">8</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">55</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">50</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-13</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">AAPL</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">-5</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">10</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">5</span></p>
</td>
</tr>
<tr>
<td style="width: 98pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">2021-01-14</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;'><span style="color:black;">MMM</span></p>
</td>
<td style="width: 48pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">6</span></p>
</td>
<td style="width: 77pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">7</span></p>
</td>
<td style="width: 53pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">6</span></p>
</td>
<td style="width: 49pt;padding: 0in 5.4pt;height: 0.2in;vertical-align: bottom;">
<p style='margin:0in;font-size:15px;font-family:"Calibri",sans-serif;text-align:right;'><span style="color:black;">12</span></p>
</td>
</tr>
</tbody>
</table>

last_entry=以0开头的索引,该索引是股票代码的上一个匹配。prev_units=上一次匹配的cml_units,即索引等于last_entry中值的cml_unit列中的值cml_units=仅为数量列+prev_units列的总和

以下是我的代码,用于获取以前所有匹配的索引:

for t in (set(trans_df['ticker'])):
print (np.insert(trans_df[trans_df['ticker']==t].index.values.astype(np.float32),0,np.nan)[:-1])

如果不需要last_entry列,我们可以跳过它,如果有另一种方法可以获得聚合数量,直到当前行。

我的朋友David向我展示了如何很容易地为一个股票行情器做到这一点:

trans_df.loc[trans_df['ticker'] == 'MMM', 'cml_units']= trans_df.loc[trans_df['ticker'] == 'MMM', 'quantity'].cumsum()

然后我可以使用groupby:进行扩展

trans_df['cml_units']=trans_df.groupby('ticker')['quantity'].cumsum()

上面的代码有帮助,但我认为我可能仍然需要获得上一次股票行情匹配的索引,因为我还需要跟踪上一次的平均成本。当我出售股票时,我需要扣除平均成本乘以出售股票数量的乘积,以确定出售的收益/损失,并正确调整cml_cost的累计金额。

相关内容

最新更新