数据框中切片和旋转,然后到多个dataframs
问题描述:
最后,我想下面数据框中切片和旋转,然后到多个dataframs
我在表单数据运行库存数据的参数VAR:
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
我想创建2个独立的dataframes为例如:
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计算的参数)
答
要的权重拿到第一个表,你可以转动你的原始数据帧从长期改造它以宽幅的前三列:
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
应该是OK:
df.iloc[:,[1,3]].drop_duplicates()
# Symbol Weight
#0 A 0.000002
#5 AA 0.000287
#10 AAAP 0.000003
伟大的工作,但我如何从数据显示 – John
删除0,5,10这些都是数据帧的索引。不完全确定你需要什么,试试'df.iloc [:,[1,3]]。drop_duplicates()。reset_index(drop = True)'或'df.iloc [:,[1,3]]。drop_duplicates ).set_index('Symbol')'看看它们是不是你正在寻找的东西。 – Psidom
完美,再次感谢! – John