python treemap_pyecharts python dataframe生成treemap

本文展示了如何使用pandas读取Excel数据,处理数据,并结合pyecharts库生成Treemap,以展示不同类别(系部班级)的借阅情况排名。通过数据分组、聚合和重命名列,将结果转换为适合Treemap的结构。
摘要由CSDN通过智能技术生成

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# File  : lendtree.py

# Author: Wuyongjian

# Date  : 2018/12/3

import pandas as pd

import numpy as np

from pyecharts import Tree,TreeMap

df5=pd.read_excel('xlsx\\借阅情况.xlsx',5,header=None)

df5.columns=['a','b','c']

pd.set_option('display.max_columns',None)#去掉省略号

pd.set_option('max_colwidth', 15)#设置最大列宽

df5['a']=df5['a'].map(str.strip)

df5['b']=df5['b'].map(str.strip)

#pd.pivot_table(df5,values=['c'],index=['a'],aggfunc='sum')

#pd.pivot_table(df5,index=['a'],aggfunc='sum')

#df5.set_index('a')['c'].to_dict(orient='records')

xylist=df5[['a','c']].groupby('a').sum().reset_index().rename(columns={'a':'name','c':'value'}).sort_values(by='value',ascending=False).to_dict(orient='records')

# treedict={'name':'2018借阅分类','value':df5.sum()['c'],'children':xylist}

for n in xylist:

n['children']=df5[df5['a']==n.get('name')][['b','c']].rename(columns={'b':'name','c':'value'}).sort_values(by='value',ascending=False).head(10).to_dict(orient='records')

# data=[treedict]

treemap = TreeMap("系部班级借阅分类排名",width=800,height=400,title_pos='center')

treemap.add("", xylist,is_toolbox_show=False,is_label_show=True,label_pos='inside')

# tree.add("", data,tree_layout="radial",is_toolbox_show=False,is_label_show=True)

# tree.add("", data,tree_orient="TB",tree_label_rotate=-90,tree_leaves_rotate=-90,is_toolbox_show=False,is_label_show=True)

treemap.render('treemap5.html')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值