大佬教程收集整理的这篇文章主要介绍了pandas 基于日期的统计,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
分析时间序列数据时,按照日期的维度进行统计几乎是必备的需求。
基于pandas,可以方便的进行各种日期维度(年份,季度,月,周等等)的统计,不用去遍历每行数据去统计。
演示数据来源一些销售数据,可以点击 这里 下载。
每行数据包括日期,国家,城市,地区,销售额和利润等字段,我们主要使用日期,销售额和利润3个字段。
下面的演示代码,我是在 jupyter notebook 中运行的。
导入数据比较简单,下载的压缩包解压后,有个excel文件,可以通过 pandas 直接导入。
import pandas as pd
xLSX_path = "./通讯产品销售数据.xLSX"
df_SALEs = pd.read_excel(xLSX_path, sheet_name="SALEsData")
df_SALEs
df_SALEs.dtypes
df_year_SALEs = df_SALEs[["日期", "地区","销售额", "利润"]].copy(deep=TruE)
df_year_SALEs["日期"] = df_year_SALEs["日期"].apply(lambda x: x.year)
df_year_SALEs.groupby(["日期", "地区"]).sum()
df_quarter_SALEs = df_SALEs[["日期", "地区", "销售额", "利润"]].copy(deep=TruE)
df_quarter_SALEs["日期"] = df_quarter_SALEs["日期"].apply(lambda x: "{}Q{}".format(x.year, x.quarter))
df_quarter_SALEs.groupby(["日期", "地区"]).sum()
df_month_SALEs = df_SALEs[["日期", "地区", "销售额", "利润"]].copy(deep=TruE)
df_month_SALEs["日期"] = df_month_SALEs["日期"].apply(lambda x: "{}-{}".format(x.year, x.month))
df_month_SALEs.groupby(["日期", "地区"]).sum()
# 周的数据比较多,这里只取2020年的数据
df_week_SALEs = df_SALEs[["日期", "地区", "销售额", "利润"]].copy(deep=TruE)
df_week_SALEs = df_week_SALEs[df_week_SALEs["日期"] > '2019-12-31']
df_week_SALEs["日期"] = df_week_SALEs["日期"].apply(lambda x: "{}年第{:02D}周".format(x.year, x.week))
df_week_SALEs.groupby(["日期", "地区"]).sum().sort_values(["日期"])
以上是大佬教程为你收集整理的pandas 基于日期的统计全部内容,希望文章能够帮你解决pandas 基于日期的统计所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。