使用
set_index
具有
unstack
:
df1 = df.set_index(['column_key','columnDate']).unstack()
print (df1)
v1 v2
columnDate 01/01/2000 02/01/2000 01/01/2000 02/01/2000
column_key
'a' 1 3 3 5
'b' 2 4 4 6
然后在
dict comprehension
按第一级选择
MultiIndex
通过
xs
:
output = {x:df1.xs(x, axis=1) for x in df1.columns.levels[0]}
print (output)
{'v1': columnDate 01/01/2000 02/01/2000
column_key
'a' 1 3
'b' 2 4, 'v2': columnDate 01/01/2000 02/01/2000
column_key
'a' 3 5
'b' 4 6}
print (output['v1'])
columnDate 01/01/2000 02/01/2000
column_key
'a' 1 3
'b' 2 4
print (output['v2'])
columnDate 01/01/2000 02/01/2000
column_key
'a' 3 5
'b' 4 6