接上回书,数据以Dataframe的形式存储后,接下来就是对一些数据进行计算或者图形化展示,直接上才艺了,感觉最近看的每一句都是一个知识点...
数据分组
原始数据针对上述数据,想要实现知道每个月有多少千克的销量,则是应用
groupby
实现分组操作。
df1 = df.groupby(['year_month'])['kilogram'].sum().reset_index()
# 括号内是分组依据的字段
# 后续是分组后数据的处理,即是对kilogram这个字段进行求和。
打印df1,结果如下:
如果是在分组后,想对不同的列进行不同的数据处理,可以利用聚合操作
agg
。
df3 = df.groupby(['year_month']).agg({'kilogram': 'sum', 'amount': 'sum'}).reset_index()
# 按照月份分组后,对一个月份的kilogram及amount分别进行求和
执行结果如下:
按月份对不同的字段进行聚合操作
agg聚合操作有很多,如下所示:
agg语法 | 代表意义 |
---|---|
max | 最大值 |
min | 最小值 |
mean | 平均值 |
sum | 求和 |
var | 方差 |
std | 标准差 |
median | 中位数 |
count | 计数 |
简单的数据可视化
如果对于上述的分组结果,希望以柱状图的形式来看每一个月的销量变化。则可以应用plotly_express
库。这个库设计简洁,只需导入,就可以画出可视化图形,实现简单的数据可视化。
首先自然是需要安装:
pip3 install plotly_express
应用之前需要导入,通常会作为px进行使用。
import plotly_express as px
柱状图
依照最上方的df1,期望以柱状图的形式展现每个月的销量。实现语法如下
fig = px.bar(df1, x='year_month', y='kilogram', color='kilogram')
# x代表横轴,y代表纵轴,color代表颜色区分代表意义
fig.update_layout(xaxis_tickangle=45)
# x轴坐标倾斜角度
fig.show()
# fig展示
执行后,会自动在本地打开如下结果:
柱状图
折线图
依照上方的df1,期望以折线图的形式展现每个月的销量。实现语法如下
fig1 = px.line(df1, x='year_month', y='amount', markers=True)
# x代表横轴,y代表纵轴,markers为True代表添加折线上点标记
fig1.show()
# fig1展示
执行后,会自动在本地打开如下结果:
折线图
Pandas这个系列还是陆陆续续的努力更新中,最近的工作,不完全是测试了,开始有其它的任务了,但是我仍然希望能在第一季度结束的时候,Pandas有个小的完结~
自我记录,有错误欢迎指正~~~
网友评论