import pandas as pd data = pd.read_csv("天猫订单.csv") data.head() data.shape
data.info() # 订单付款时间 24087 non-null data.columns data.columns = data.columns.str.strip() # 去除列名中首尾空格
重复值查看:data.duplicated().sum(),重复数据:109
缺失值查看:data.isnull().sum(),缺失数据:订单付款时间 3923
def province_map(p): if p in ["北京", "天津", "上海", "重庆"]: return p + "市" return p data.收货地址 = data.收货地址.map(province_map) 统计各省订单量,去除没有付款的订单数据 result = data[data.订单付款时间.notnull()] 统计各省订单量 result2 = result.groupby("收货地址")[["订单编号"]].count().to_dict()["订单编号"] from pyecharts import options as opts from pyecharts.charts import Bar, Line, Map, Pie, Timeline from pyecharts.globals import CurrentConfig, NotebookType 不同notebook坏境有不同渲染要求,pyecharts在底层做了适配处理 但因为无法在import pyecharts时知道具体使用哪种noteboook坏境,所以需要在使用时声明坏境类型 CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB c = ( Map() .add("各省订单量", [*result2.items()], "china", is_map_symbol_show=False) .set_series_opts(label_opts=opts.LabelOpts(is_show=True)) .set_global_opts( title_opts=opts.TitleOpts(title="各省订单量"), visualmap_opts=opts.VisualMapOpts(max_=2000), ) ) c.load_javascript() # 第一次渲染,要调用load_javascript方法 c.render_notebook()
# 转成时间类型 data.订单创建时间 = pd.to_datetime(data.订单创建时间) data.订单付款时间 = pd.to_datetime(data.订单付款时间)
order_add_time = data.订单创建时间.map(lambda x: x.strftime("%Y-%m-%d")) result3 = data.groupby(order_add_time).agg({"订单编号": "count"}).to_dict()["订单编号"] result3 c = ( Line() .add_xaxis(list(result3.keys())) .add_yaxis("订单量", list(result3.values())) .set_series_opts( label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkAreaOpts(data=[opts.MarkPointItem(type_="max")]), ) .set_global_opts(title_opts=opts.TitleOpts(title="每天订单量")) ) c.render_notebook()
order_add_time2 = data.订单创建时间.map(lambda x: x.strftime("%H")) result4 = data.groupby(order_add_time2).agg({"订单编号": "count"}).to_dict()["订单编号"] result4 c = ( Bar() .add_xaxis(list(result4.keys())) .add_yaxis("订单量", list(result4.values())) .set_series_opts( label_opts=opts.LabelOpts(is_show=False), markpoint_opts=opts.MarkAreaOpts(data=[opts.MarkPointItem(type_="max")]), ) .set_global_opts(title_opts=opts.TitleOpts(title="每小时订单量")) ) c.render_notebook()
本文作者:a
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!