12.数据透视
2019-02-10 本文已影响0人
B0ZZ
0.背景
- stack将数据列旋转为行,unstack将数据的行旋转为列;
- pivot重塑的一个快捷方式。index,重塑的索引;columns,重塑的列名;values,生成新列的值;
1.stack & unstack
import numpy as np
import pandas as pd
data = pd.DataFrame(np.arange(4*5).reshape((4,5)),
index=pd.Index(['beijing','shanghai','guangzhou','shenzhen'],name='city'),
columns=pd.Index(['one','two','three','four','five'],name='number'))
print data
![](https://img.haomeiwen.com/i8528914/4d678a7f9f3a74f9.png)
result_stack = data.stack(dropna=False)
print result_stack
![](https://img.haomeiwen.com/i8528914/1bf0d1fdb8064cb0.png)
result_unstack = result_stack.unstack('city')
print result_unstack
![](https://img.haomeiwen.com/i8528914/43d74fa2e8412143.png)
2.pivot(目前在数据处理过程中,pivot不是必要的)
import numpy as np
import pandas as pd
data = pd.DataFrame(np.arange(4*5).reshape((4,5)),
index=pd.Index(['beijing','shanghai','guangzhou','shenzhen'],name='city'),
columns=pd.Index(['one','two','three','four','five'],name='number'))
result_pivot = data.pivot('one','two')
print result_pivot
![](https://img.haomeiwen.com/i8528914/3e731d0e14b8822b.png)