python数据处理小技巧(echarts学习)【一】

一.针对echarts桑基图的数据处理

这是我们想要的数据格式
links[{
    source: '家具',
    target: '公司',
    value: 1879156}]

部分源数据截图 

根据表格数据所致我们需要的数据字段来源于["地区", "类别"]["销售额"]

下面我们利于pandas进行数据处理

import pandas as pd

data = pd.read_excel("超市运营数据.xls")
#对地区、类别分组,根据销售额进行求和
a = data.groupby(["地区", "类别"])["销售额"].sum()

这时我们a中的数据为

 根据需求,下面我们可以通过index和values来获取我们所需要的具体值

#地区
print(a.index[0][0])
#类别
print(a.index[0][1])
#销售额
print(a.values[0])

桑基图links所需要的数据是由一个数组中多个字典组成,我们可以通过字典中的setdefault()方法添加多个键值对。Python 字典 setdefault() 方法 (w3school.com.cn)icon-default.png?t=M3K6https://www.w3school.com.cn/python/ref_dictionary_setdefault.asp

dic.setdefault("source", a.index[0][0])
dic.setdefault("target", a.index[0][1])
dic.setdefault("value", a.values[0])
print(dic)

#{'source': '东北', 'target': '办公用品', 'value': 839488.916}

 最后只需要将每个字典加入到列表中,下面是全部代码

import pandas as pd
data = pd.read_excel("超市运营数据.xls")
a = data.groupby(["地区", "类别"])["销售额"].sum()
""" links[{
    source: '家具',
    target: '公司',
    value: 1879156}]
"""
links = []
dic = {}
i = 0
while (i<len(a.values)):
    dic.setdefault("source", a.index[i][0])
    dic.setdefault("target", a.index[i][1])
    dic.setdefault("value", a.values[i])
    i+=1
    links.append(dic)
    #这里我们要将字典删除然后重新定义一个空字典,因为setdefault方法中不能出现重复的key,负责所有的数据都是一样的
    del dic
    dic={}
print(links)

二.针对echarts热力图的数据处理

也是分组聚合操作,数据源还是上面的,代码如下

import pandas as pd

data=pd.read_excel("超市运营数据.xls")

a=data[["城市","利润","子类别"]].groupby("城市")["利润"].sum().reset_index().sort_values(by="利润")

ad=data[["城市","利润","子类别"]]
#最高最低5个城市的利润
bot=a.head(5)
top=a.tail(5)
#数据合并
b=pd.concat((bot,top),axis=0,join="inner")
#过滤掉ad不满足最低最高5个城市的数据
c=ad.loc[ad["城市"].isin(b['城市'].values)]

data2=c.groupby(["子类别","城市"])["利润"].sum().reset_index()

e=data2.values.tolist()
print(data2)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥哥哥每天都要努力啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值