我具有以下格式的数据框-
Index Stock Open
1 ABC 10
2 ABC 12
: : :
1 PQR 12
2 PQR 23
: : :
1 XYZ 0.5
2 XYZ 0.9
: : :
我想使用变量(股票)在数据框上方进行转换,该变量的分类变量如下所示-
Index ABC PQR XYZ
1 10 12 0.5
2 12 23 0.9
: : : :
注意-可能有多个变量...
请告诉我如何转换或转置上述格式的数据帧。
答案 0 :(得分:1)
我认为您正在搜索数据透视表:
df.pivot('Index', 'Stock', ['Open', 'Close'])
Open Close
Stock ABC PQR XYZ ABC PQR XYZ
Index
1 10.0 12.0 0.5 13.0 15.0 0.13
2 12.0 23.0 0.9 14.0 16.0 0.14
我使用了一个像这样构造的测试数据框:
s = '''Index Stock Open Close
1 ABC 10 13
2 ABC 12 14
1 PQR 12 15
2 PQR 23 16
1 XYZ 0.5 .13
2 XYZ 0.9 .14'''
df = pd.read_table(StringIO(s), sep='\s+', engine='python')
Index Stock Open Close
0 1 ABC 10.0 13.00
1 2 ABC 12.0 14.00
2 1 PQR 12.0 15.00
3 2 PQR 23.0 16.00
4 1 XYZ 0.5 0.13
5 2 XYZ 0.9 0.14