我们经常处理的数据是不规范的,尤其是包含日期的数据,通常需要做一些转换,今天我们就做一个按月分组的实例,具体过程如下:
引入相关模块![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/ad121888912ca5caf05844fb8bfc77f7990e9407.jpg)
创建一个DataFrame对象,索引为日期
查看一下数据的前5行
![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/955ea0e434daf05e1793adc2751d96d81919e507.jpg)
假如索引为日期Series,按月分组很简单,用到了一个lambda函数
分组后的情况:![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/18aebc5f0c14c27b5b32523a2a46b7b1eff93904.jpg)
但是有时候,索引不是日期,但是有一列数据为日期格式,因此,我们同样可以使用一个lambda函数来进行分组:
分组结果为:![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/a1780d1fceecd3d9d1c526776799594305010804.jpg)
但实际上,我们还可以将日期数据列设置为索引就可以使用上一种方法啦:
输出结果:![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/3c42a5ea3e8630488ff30367c33104ebf7a75204.jpg)
假如,我们的日期数据是以字符串的形式存储的,也不必着急,我们可以轻松的将其转换为Date
数据结果为:![pandas教程:[14]按月分组](https://exp-picture.cdn.bcebos.com/76b6860e5f2043716c6ae293323acd8921c58f04.jpg)