pandas to_excel 添加颜色操作


Posted in Python onJuly 14, 2020

我就废话不多说了,大家还是直接看代码吧~

import pandas as pd
import numpy as np
 
columns = [['A', 'A', 'B', 'B', 'C'], ['a', 'b', 'c', 'd', 'e']]
# 创建形状为(10,5) 的DataFrame 并设置二级标题
demo_df = pd.DataFrame(np.arange(50).reshape(10, 5), columns=columns)
print(demo_df)
 
def style_color(df, colors):
  """
  
  :param df: pd.DataFrame
  :param colors: 字典 内容是 {标题:颜色}
  :return: 
  """
  return df.style.apply(style_apply, colors=colors)
 
def style_apply(series, colors, back_ground=''):
  """
  :param series: 传过来的数据是DataFramt中的一列  类型为pd.Series
  :param colors: 内容是字典 其中key 为标题名  value 为颜色
  :param back_ground: 北京颜色
  :return:
  """
  series_name = series.name[0]
  a = list()
  # 为了给每一个单元格上色
  for col in series:
    # 其中 col 为pd.DataFrame 中的 一个小单元格  大家可以根据不同需求为单元格设置不同的颜色
    # 获取什么一级标题获取什么颜色
    if series_name in colors:
      for title_name in colors:
        if title_name == series_name:
          back_ground = 'background-color: ' + colors[title_name]
          # '; border-left-color: #080808'
    a.append(back_ground)
  return a
 
style_df = style_color(demo_df, {"A": '#1C1C1C', "B": '#00EEEE', "C": '#1A1A1A'})
 
with pd.ExcelWriter('df_style.xlsx', engine='openpyxl') as writer:
  #注意: 二级标题的to_excel index 不能为False
  style_df.to_excel(writer, sheet_name='sheet_name')

以上就是pandas.DataFrame 二级标题to_excel() 添加颜色的demo 大家可以自行根据不同需求修改

主要注意

style_apply 方法中的内容 里面是真正设置颜色的地方

补充知识:对pandas的dataframe自定义颜色显示

原始表是这样,一堆数字视觉表达能力很差

pandas to_excel 添加颜色操作

quantity_year.style.background_gradient(cmap='gray_r')

pandas to_excel 添加颜色操作

按照大小对其进行不同颜色的填充,视觉表达能力强了很多。 也可以自定义颜色填充,比如我这里对大于平均值的进行颜色填充。

quantity_year.style.applymap(lambda v
               : 'background-color: %s' %'#FFCCFF' if v>quantity_year.mean().mean() 
               else'background-color: %s'% '')

当然也可以自己def 更复杂的功能,都是大同小异。当然还有highlight_max(‘color'),highlight_min(‘color')这种高亮最小最大值,也有hide_index()这种隐藏索引的小操作,在这里记录一下。

以上这篇pandas to_excel 添加颜色操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之玩转字符串(1)
Sep 14 Python
python学习之第三方包安装方法(两种方法)
Jul 30 Python
Python基于numpy灵活定义神经网络结构的方法
Aug 19 Python
python+pyqt实现12306图片验证效果
Oct 25 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
Jun 13 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
Python笔记之观察者模式
Nov 20 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
Python如何批量生成和调用变量
Nov 21 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
Python数据可视化实现多种图例代码详解
Jul 14 #Python
简单的Python人脸识别系统
Jul 14 #Python
Python局部变量与全局变量区别原理解析
Jul 14 #Python
Python迭代器协议及for循环工作机制详解
Jul 14 #Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 #Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 #Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 #Python
You might like
建立文件交换功能的脚本(一)
2006/10/09 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
php测试kafka项目示例
2020/02/06 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
javascript中日期函数new Date()的浏览器兼容性问题
2015/09/05 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
浅谈如何实现easyui的datebox格式化
2016/06/12 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
vue实现未登录跳转到登录页面的方法
2018/07/17 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
python生成IP段的方法
2015/07/07 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
世界上最大的冷却器制造商:Igloo Coolers
2019/07/23 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
俄语专业毕业生推荐信
2013/10/28 职场文书
正规的求职信范文分享
2013/12/11 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers