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写的英文字符大小写转换代码示例
Mar 06 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
用python写扫雷游戏实例代码分享
May 27 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
Jun 11 Python
Python统计分析模块statistics用法示例
Sep 06 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
python selenium循环登陆网站的实现
Nov 04 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Python 实现简单的客户端认证
Jul 29 Python
详解python算法常用技巧与内置库
Oct 17 Python
Python Selenium库的基本使用教程
Jan 04 Python
python 实现IP子网计算
Feb 18 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
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
js获取UserControl内容为拼html时提供方便
2014/11/02 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
浅谈原型对象的常用开发模式
2017/07/22 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
python 文件转成16进制数组的实例
2018/07/09 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
python实现邮件循环自动发件功能
2020/09/11 Python
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
十佳青年个人事迹材料
2014/01/28 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
综治维稳工作汇报
2014/10/27 职场文书
2014年大学生村官工作总结
2014/11/19 职场文书
颐和园导游词400字
2015/01/30 职场文书
六五普法先进个人主要事迹材料
2015/11/03 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫