在数据可视化实际分析中,常用到分季度画图分析,这时候如果存在季度列可以快速的利用gruopby对其聚合画图,本文介绍一种简单的创建类似 2020Q1 季度列的方法。
首先存在一个trade销量表,buy_mount为销量列,day为销售日期(datetime类型),此时需要查看每年各季度的销量情况应该如何操作呢。
此时可以用dt.year与dt.quarter分别创建两列画图,再使用groupby聚合再利用for循环对每个季度标注,太过于繁杂,下面介绍一种更快速的方式
.str.cat字符串合并用法
df = 字符串1.str.cat(字符串2,sep="")
其中sep为分割符
实际运用:
首先创建年与季度两列
trade["year"] = trade["day"].dt.year
trade["quartar"] = trade["day"].dt.quarter
再将其使用.str.cat将两个字符串合并为一列,注意此方法只能用于字符串类型合并,所以需要用.astype("str")将两列转换为字符串
当然,熟悉后可以一步到位,一条代码结合上面两步,此为最快的方式。
此时表如下
可以看见季度列已经加入表中了。
此时使用groupby对季度聚合销量,即可得到季度销量,再使用matplotlib即可画出最简单的季度销量图。
t_quarter = trade["buy_mount"].groupby(trade["year_quartar"]).sum() #对每季度聚合销量