我正在与一个金融相关价值的df大型面板数据一起工作,在那里我有许多公司(以及它们的基本价值观),跨越多年。 df看起来像这样:
year ticker return_y
0 1985 VLID -0.5838
1 1985 KO 0.3245
2 1994 CTL -0.3063
3 1996 DRYR -0.1607
.. ... ... ...
1356 2002 CHUX -0.2456
1357 1987 HRL -0.0233
1358 2015 KO 0.2343
.. ... ... ...
56798 2017 AFMXF 0.0558
56799 2014 TER 0.0134
我知道有些公司只有一到两年的报告,我担心他们会在我的分析中产生一些偏见。因此,我只想保留那些至少有3年时间的公司——有人能帮我找到一种方法吗
提前谢谢你
也许还有一条更短的路。我的尝试; 假设每个组有一年,我将创建一个新列,通过将groupby链接到cumcount,将每个组从1开始编号
在每组中找出最大值,并删除最大值小于3的任何内容
您可以在一行中处理这个问题:使用lambda调用
groupby.filter()
:相关问题 更多 >
编程相关推荐