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 22 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
pandas计数 value_counts()的使用
Jun 24 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
Django框架序列化与反序列化操作详解
Nov 01 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
tensorflow查看ckpt各节点名称实例
Jan 21 Python
Python requests模块基础使用方法实例及高级应用(自动登陆,抓取网页源码)实例详解
Feb 14 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
基于pandas向csv添加新的行和列
May 25 Python
Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法
Jul 28 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 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进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
JavaScript+H5实现微信摇一摇功能
2018/05/23 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
深入理解Promise.all
2018/08/08 Javascript
浅谈React之状态(State)
2018/09/19 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
JavaScript逻辑运算符相关总结
2020/09/04 Javascript
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
python列表list保留顺序去重的实例
2018/12/14 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
Python实现不规则图形填充的思路
2020/02/02 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
给全校老师的建议书
2014/03/13 职场文书
经营管理策划方案
2014/05/22 职场文书
学生评语集锦
2015/01/04 职场文书
罚站检讨书
2015/01/29 职场文书
PyTorch device与cuda.device用法
2022/04/03 Python
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技