我正在处理金融相关值(value)的大型面板数据,其中有许多公司(及其基本值(value))多年来。 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 年历史的公司 - 谁能帮我找到一种方法来做到这一点?
提前谢谢您!
最佳答案
您可以在一行中处理此问题:使用 lambda 调用 groupby.filter()
:
df.groupby(df.ticker).filter(lambda x: len(x) > 2)
关于python - 面板数据 - 在 Pandas 中保留至少拥有 3 年数据的公司,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61161446/