dataframe中的每一列都是一个Series对象,这个Series对象的index默认是从0开始,步长为1进行递增。
如果你的dataframe中有一列是日期,对于其他列字段需要按照日期字段进行聚合的话,需要将待聚合列的Series对象index属性修改为该日期字段。
关键是这个操作:
offline_ratio = custs.offline_ratio
offline_ratio.index=custs['day_tm'].apply(lambda x:datetime.strptime(x,'%Y-%m-%d'))
offline_ratio_month = offline_ratio.resample('m').mean()
- 修改Series对象的index属性为日期
- resample函数可以通过调整参数,实现按月(m),按周(w),按季度(q)等聚合
import pandas as pd
import matplotlib.pyplot as plt
from impala.dbapi