最终我想在
以下的股票数据上运行参数化变量我的表格中有数据:
Date Symbol ClosingPrice Weight
0 7/22/2016 A 46.58 0.000002
1 7/25/2016 A 46.14 0.000002
2 7/26/2016 A 46.95 0.000002
3 7/27/2016 A 47.26 0.000002
4 7/28/2016 A 47.51 0.000002
5 7/22/2016 AA 10.57 0.000287
6 7/25/2016 AA 10.49 0.000287
7 7/26/2016 AA 10.67 0.000287
8 7/27/2016 AA 10.74 0.000287
9 7/28/2016 AA 10.68 0.000287
10 7/22/2016 AAAP 30.51 0.000003
11 7/25/2016 AAAP 31.02 0.000003
12 7/26/2016 AAAP 30.85 0.000003
13 7/27/2016 AAAP 30.97 0.000003
14 7/28/2016 AAAP 31.00 0.000003
我想创建两个独立的数据帧:
date A AA AAAP
7/22/2016 46.58 10.57 30.51
7/25/2016 46.14 10.49 31.02
7/26/2016 46.95 10.67 30.85
7/27/2016 47.26 10.74 30.97
7/28/2016 47.51 10.68 31
以符号作为列标题
和
Symbol Weight
A 0.00000166
AA 0.00028664
AAAP 0.00000326
第一个数据帧将用于计算方差/协方差矩阵,第二个数据帧表示股票投资组合中每个证券的权重(参数VAR计算中的参数)
答案 0 :(得分:3)
要获得第一个表格,您可以转动原始数据框,在前三列上将其从长格式转换为宽格式:
import pandas as pd
df.iloc[:,0:3].pivot('Date', 'Symbol', 'ClosingPrice')
# Symbol A AA AAAP
# Date
#7/22/2016 46.58 10.57 30.51
#7/25/2016 46.14 10.49 31.02
#7/26/2016 46.95 10.67 30.85
#7/27/2016 47.26 10.74 30.97
#7/28/2016 47.51 10.68 31.00
第二个表是第二列和第四列的唯一值,因此选择它们并且drop_duplicates
应该没问题:
df.iloc[:,[1,3]].drop_duplicates()
# Symbol Weight
#0 A 0.000002
#5 AA 0.000287
#10 AAAP 0.000003