2015-03-18-数据规整化(2)-重塑和轴向旋转

来源:互联网 发布:织梦cms博客网站源码 编辑:程序博客网 时间:2024/04/25 21:43
--重塑和轴向旋转
---------------------------------------------------------------------------------------
-----(一)重塑层次化索引
stack:将数据的列旋转为行
unstack:将数据的行旋转为列
data=DataFrame(np.arange(6).reshape((2,3)),
index=pd.Index(['Ohio','Colorado'],name='state'),
columns=pd.Index(['one','two','three'],name='number'))
result=data.stack()
result
result.unstack()
result.unstack(0)
result.unstack('state')


s1=Series([0,1,2,3],index=['a','b','c','d'])
s2=Series([4,5,6],index=['c','d','e'])
data2=pd.concat([s1,s2],keys=['one','two'])
data2.unstack()
data2.unstack().stack()
data2.unstack().stack(dropna=False)


df=DataFrame({'left':result,'right':result+5},
columns=pd.Index(['left','right'],name='side'))
df.unstack('state')
df.unstack('state').stack('side')


---------------------------------------------------------------------------------------
-----(二)将“长格式”旋转为“宽格式”
ldata=DataFrame({'date':['1959-03-31','1959-03-31','1959-03-31','1959-06-30','1959-06-30','1959-06-30'
,'1959-09-30','1959-09-30','1959-09-30','1959-12-31'],
'item':['realgdp','infl','unemp','realgdp','infl','unemp','realgdp','infl','unemp','realgdp'],
'value':[2710.349,0,5.8,2778.801,2.34,5.1,2775.488,2.74,5.3,2785.204]
})
pivoted=ldata.pivot('date','item','value')
pivoted.head()
ldata['value2']=np.random.randn(len(ldata))
pivoted=ldata.pivot('date','item')
pivoted
pivoted['value'][:5]


unstacked=ldata.set_index(['date','item']).unstack('item')
unstacked[:2]
0 0
原创粉丝点击