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正则用法的简单实例
Jun 21 Python
Python 基础知识之字符串处理
Jan 06 Python
python实现决策树
Dec 21 Python
python使用Matplotlib画饼图
Sep 25 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python中的异常处理try/except/finally/raise用法分析
Feb 28 Python
如何为Python终端提供持久性历史记录
Sep 03 Python
python web框架中实现原生分页
Sep 08 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
python简单实现插入排序实例代码
Dec 16 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
PHP date函数参数详解
2006/11/27 PHP
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
jquery 防止表单重复提交代码
2010/01/21 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
js常见遍历操作小结
2019/06/06 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
Python正则捕获操作示例
2017/08/19 Python
Python全排列操作实例分析
2018/07/24 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
python中安装django模块的方法
2020/03/12 Python
python生成word合同的实例方法
2021/01/12 Python
美国性感女装网站:bebe
2017/03/04 全球购物
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
化工工艺专业求职信
2013/09/22 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
低碳环保标语
2014/06/12 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
2015年财务试用期工作总结
2014/12/24 职场文书
2015年科协工作总结
2015/05/19 职场文书
关于环保的广播稿
2015/12/17 职场文书
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android