【发布时间】:2020-08-19 18:03:52
【问题描述】:
我基本上有 3 个与我正在使用的季度 pandas DataFrame 中创建 Dummies 相关的问题。 第一个是:如何创建一个“虚拟”变量,将每个公司 ID 的最后四个季度设置为 1?我想产生如下相同的结果:
Firm Quarter Dummy
A 2017-03-31 1
A 2016-12-31 1
A 2016-09-30 1
A 2016-06-30 1
A 2016-03-31 0
A 2015-12-31 0
A 2015-09-30 0
A 2015-06-30 0
A 2015-03-31 0
B 2009-06-30 1
B 2009-03-31 1
B 2008-12-31 1
B 2008-09-30 1
B 2008-06-30 0
B 2008-03-31 0
B 2007-12-31 0
B 2007-09-30 0
B 2007-06-30 0
.
.
.
Z . .
Z . .
Z . .
我的第二个问题是:如何创建一个“虚拟”变量,将四个季度设置为 1,最后一个季度后一年(给定每个公司最后一个季度的不同日期)?如下图所示:
Firm Quarter Dummy
A 2017-03-31 0
A 2016-12-31 0
A 2016-09-30 0
A 2016-06-30 0
A 2016-03-31 1
A 2015-12-31 1
A 2015-09-30 1
A 2015-06-30 1
A 2015-03-31 0
B 2009-06-30 0
B 2009-03-31 0
B 2008-12-31 0
B 2008-09-30 0
B 2008-06-30 1
B 2008-03-31 1
B 2007-12-31 1
B 2007-09-30 1
B 2007-06-30 0
.
.
.
Z . .
Z . .
Z . .
最后,关于上一张表,我如何在第一个 Dummy = 1 之前去掉前四个季度(Dummy = 0),并在每个公司的最后一个 Dummy = 1 之后保留 dummy = 0 的季度ID?,得到最终的DataFrame如下:
Firm Quarter Dummy
A 2016-03-31 1
A 2015-12-31 1
A 2015-09-30 1
A 2015-06-30 1
A 2015-03-31 0
B 2008-06-30 1
B 2008-03-31 1
B 2007-12-31 1
B 2007-09-30 1
B 2007-06-30 0
.
.
.
Z . .
Z . .
Z . .
非常感谢您的帮助!!
【问题讨论】:
-
您的疑惑相当令人困惑。您是否期望每家公司的最后 5 个季度,最后一个有
Dummy = 0,而另外 4 个有Dummy = 1?还是您期望 3 种不同的结果? -
很抱歉造成混乱,感谢您指出。我期待 2 个结果。第一个问题独立于后两个问题。对于第一个问题,我只想创建一个虚拟变量,将最后四个季度(最近的季度)设置为 1,其余设置为零。这是第一个问题。生成的 DataFrame 是所需的结果。然后,第二个问题分为两个步骤,最后一个表格将是最终结果。我希望这次我解释得更好:)
标签: pandas dataframe dummy-variable quarter