小呆学数据分析——使用pandas的pivot进行数据重塑

数据重塑的应用场景

例子

小呆跟着小瓜在炒股,每一次的操作都进行了详细的记录,几个月了小呆想看看自己炒股的收益以及炒股的技巧到底怎么样,于是小呆先打开平时的记录,看了看情况:
stock.csv

date,item,stock1,stock2
2018-03-31,buy into,2710.,1669.
2018-03-31,sell,2708.,1826.
2018-06-30,buy into,2686.,1806
2018-06-30,sell,2700.,1820.
2018-09-30,buy into,2695.,1810.
2018-09-30,sell,1680.,1800.

小呆打开python,写下代码

import pandas as pd
stk = pd.read_csv('stock.csv') 
print(stk)

结果和stock.csv内容一样,既然对了,那现在就做点变化吧,这次小呆信心满满的,因为他知道该怎么做,上次小瓜说层次化索引的时候还说过很多数据在处理之前要重排,所以这次当然也是用到数据重排咯。

小呆想先把date和item做成索引吧,于是写下代码

stk2 = stk.set_index(['date', 'item'])

结果如下:

                     stock1  stock2
date       item                    
2018-03-31 buy into  2710.0  1669.0
           sell      2708.0  1826.0
2018-06-30 buy into  2686.0  1806.0
           sell      2700.0  1820.0
2018-09-30 buy into  2695.0  1810.0
           sell      1680.0  1800.0

小呆想起了那天处理小妹的成绩汇总的方法,可以用到那个技术嘛,于是写下代码

print(stk2.unstack())

结果如下:

             stock1                  stock2               
item      buy into    sell   buy into     sell
date                                                      
2018-03-31   2710.0  2708.0   1669.0   1826.0
2018-06-30   2686.0  2700.0   1806.0   1820.0
2018-09-30   2695.0  1680.0   1810.0   1800.0

这时小瓜过来看到小呆在码代码,说呆总,不用那么麻烦,这个操作只要用pivot就可以了

print(stk.pivot('date', 'item'))

结果也是这样的。
原来这样啊。不管怎么说小呆看到这个表格,发现自己投资stock1亏了,投资stock2盈了,总的来说还是赚了钱的。小呆点头微笑道。

文章导引列表:
机器学习

  1. 小瓜讲机器学习——分类算法(一)logistic regression(逻辑回归)算法原理详解
  2. 小瓜讲机器学习——分类算法(二)支持向量机(SVM)算法原理详解
  3. 小瓜讲机器学习——分类算法(三)朴素贝叶斯法(naive Bayes)
  4. 待续

数据分析

  1. 小呆学数据分析——使用pandas中的merge函数进行数据集合并
  2. 小呆学数据分析——使用pandas中的concat函数进行数据集堆叠
  3. 小呆学数据分析——pandas中的层次化索引
  4. 小呆学数据分析——使用pandas的pivot进行数据重塑
  5. 小呆学数据分析——用duplicated/drop_duplicates方法进行重复项处理
  6. 小呆学数据分析——缺失值处理(一)
  7. 小呆学数据分析——异常值判定与处理(一)
  8. 小瓜讲数据分析——数据清洗

数据可视化

  1. 小瓜讲数据分析——数据可视化工程(matplotlib库使用基础篇)
  2. 小瓜讲matplotlib高级篇——坐标轴设置(坐标轴居中、坐标轴箭头、刻度设置、标识设置)

你可能感兴趣的:(小呆学数据分析——使用pandas的pivot进行数据重塑)