楼主: 1226407869
868 0

[问答] pandas生成滞后项的问题,求大神! [推广有奖]

  • 0关注
  • 9粉丝

博士生

54%

还不是VIP/贵宾

-

威望
0
论坛币
5331 个
通用积分
172.4721
学术水平
5 点
热心指数
4 点
信用等级
0 点
经验
8514 点
帖子
132
精华
0
在线时间
429 小时
注册时间
2014-3-4
最后登录
2024-6-14

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
<!-- 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>
二维码

扫码加我 拉你入群

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

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

关键词:pandas panda 滞后项 Das

考虑到论坛体现25%的费用,所有产品一律加价25%出售。将税负转嫁出去。避税
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-19 09:40