python - 使用 Pandas 对个别公司进行回归
问题描述
我有一个类似于下面的数据框。
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功能对公司进行分组,但我不知道如何从这里开始。
感谢任何能够提供帮助的人。
解决方案
像下面这样的东西会做。过滤数据,然后对该数据执行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()
推荐阅读
- elasticsearch - Elasticsearch:无法使用过滤器和排序查询布尔嵌套查询
- amazon-web-services - AWS ECS 为内部后端通信获取公共证书
- asp.net-core-3.1 - 启动 gRPC 调用时出错。HttpRequestException:对等方重置连接 SocketException:对等方重置连接
- typescript - 在 Cloud Firestore 中创建另一个字段时,如何更新文档中的字段?
- flutter - Flutter GridView 可以通过点击触发吗?
- wpf - 如何使用键盘 Tab 键导航或选择 WPF 图像?
- javascript - 下载目录(客户端)而不压缩它
- android - Jacoco 无法读取 .ec 文件
- python - 通过组合一个 numpy 数组和一个元组列表来高效地创建一个 python 字典列表
- node.js - 如何优化multer的性能?