全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1134 0
2021-08-23
<!-- markdown css tag --><div class="pinggu_markdown">
<div class="pinggu_markdown__html"><h1 id="pandas如何生成滞后项?">pandas如何生成滞后项?</h1>
<p>通常情况下,在<code>Stata</code>中的做法是</p>
<pre><code>xtset id year
g lag = l.profit
</code></pre>
<p>然而,我发现在pandas中,这一做法将存在一定的问题。<br>
在普通情况下,不会产生错误。当数据存在跳跃或者某年没有出现时就出问题了。</p>

<table>
<thead>
<tr>
<th>id</th>
<th>year</th>
<th>profit</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1&#48;</td>
<td>1&#48;&#48;</td>
</tr>
<tr>
<td>1</td>
<td>11</td>
<td>11&#48;</td>
</tr>
<tr>
<td>1</td>
<td>12</td>
<td>12&#48;</td>
</tr>
<tr>
<td>1</td>
<td>13</td>
<td>132</td>
</tr>
<tr>
<td>1</td>
<td>14</td>
<td>11&#48;</td>
</tr>
<tr>
<td>1</td>
<td>15</td>
<td>126</td>
</tr>
<tr>
<td>2</td>
<td>1&#48;</td>
<td>1&#48;&#48;</td>
</tr>
<tr>
<td>2</td>
<td>11</td>
<td>11&#48;</td>
</tr>
<tr>
<td>2</td>
<td><strong>12</strong></td>
<td>12&#48;</td>
</tr>
<tr>
<td>2</td>
<td><strong>14</strong></td>
<td>11&#48;</td>
</tr>
<tr>
<td>2</td>
<td>15</td>
<td>126</td>
</tr>
<tr>
<td>–</td>
<td>–</td>
<td>–</td>
</tr>
</tbody>
</table><p>如果数据都类似<code>id == 1</code> 时那样,<strong><code>with no gaps</code><strong>的话,使用<code>shift(1)</code>是没有问题的。而当有gaps存在时使用<code>shift(1)</code>就会出现问题了。正常的情况下,<strong>lag</strong>变量在</strong>id ==2 , year == 13</strong>的时候是不存在的。但是直接用        <code>shift</code>的话,这里是存在的,不会是缺失值。想问的是,有没有什么办法可以解决这里的滞后项问题?</p>
</div>
</div>
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群