【问题标题】:Regression with individual companies using Pandas使用 Pandas 对个别公司进行回归
【发布时间】:2019-10-25 09:30:09
【问题描述】:

我有一个类似于下面的数据框。

   Date       Company_Name    Rtns    Sentiment    Market_cap    Beta
0  1/1/2000   abc             0.2     1            1234          1.0
1  1/2/2000   abc             0.5     1            1221          1.0
2  1/3/2000   abc             0.4     0            1532          1.2
       .
       .
50 1/12/2011  abc             0.02    1            1211          0.9
51 1/1/2001   def             0.03    0             118          1.6
52 1/2/2001   def             0.13    0             117          1.2
53 1/3/2001   def             0.02    1             117          1.3

我正在尝试一次对一组公司进行 OLS 回归(即公司 abc 的回归,公司 def 的回归),所有变量都针对收益进行回归。这就是我在下面所做的(我使用了 for 循环,但我不确定如何使用索引或使用公司名称来获得回归):

 y = df['Rtns']
 x = df[['Sentiment', 'Market_cap', 'Beta']]

 summ= []
 for i in df:
    model = sm.OLS((y,x)).fit()
    summ.append(model.summary())

给我的输出是一个重复的回归模型。

我不确定如何对每组公司进行回归(即 abc 的回归结果和 def. 的回归结果)

我还使用 groupby 功能对公司进行分组,但我不知道如何从这里开始。

感谢任何能够提供帮助的人。

【问题讨论】:

    标签: python pandas regression


    【解决方案1】:

    如下所示。 过滤数据,然后对该数据执行 OLS。

     lst=['abc','def']
    
     for i in lst:
        tmp=df[df['Company_Name']==i]
        y=tmp['Rtns']
        x=tmp[['Sentiment', 'Market_cap', 'Beta']]
        model = sm.OLS((y,x)).fit()
    

    【讨论】:

    • 你好尤斯克!我想尝试使用一个列表,但不幸的是我有近 1000 家公司.. 要花很长时间。还有其他方法吗?不过感谢您的回复!
    猜你喜欢
    • 2012-11-26
    • 2021-12-14
    • 1970-01-01
    • 2020-10-31
    • 2013-10-23
    • 2016-07-21
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多