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实现方法
Nov 18 Python
Python中文件操作简明介绍
Apr 13 Python
详解Django中的过滤器
Jul 16 Python
django定期执行任务(实例讲解)
Nov 03 Python
python3 发送任意文件邮件的实例
Jan 23 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
结合OpenCV与TensorFlow进行人脸识别的实现
Oct 10 Python
使用python求解二次规划的问题
Feb 29 Python
Python如何用filter函数筛选数据
Mar 05 Python
Pandas 稀疏数据结构的实现
Jul 25 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
Zend的Registry机制的使用说明
2013/05/02 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python每天必学之bytes字节
2016/01/28 Python
使用Python实现简单的服务器功能
2017/08/25 Python
详解Python3 pickle模块用法
2019/09/16 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
技术学校毕业生求职信分享
2013/12/02 职场文书
公司业务员岗位职责
2014/03/18 职场文书
理想演讲稿范文
2014/05/21 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
故宫英文导游词
2015/01/31 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
女性励志书籍推荐
2019/08/19 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android
angular4实现带搜索的下拉框
2022/03/25 Javascript