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实现文本去重且不打乱原本顺序
Jan 26 Python
深入理解python多进程编程
Jun 12 Python
Python进行数据提取的方法总结
Aug 22 Python
Python编程之event对象的用法实例分析
Mar 23 Python
简单了解Django模板的使用
Dec 20 Python
详解python配置虚拟环境
Apr 08 Python
python numpy 反转 reverse示例
Dec 04 Python
python模拟点击网页按钮实现方法
Feb 25 Python
python实现快递价格查询系统
Mar 03 Python
利用PyTorch实现VGG16教程
Jun 24 Python
flask开启多线程的具体方法
Aug 02 Python
python基础学习之生成器与文件系统知识总结
May 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
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
用jquery来定位
2007/02/20 Javascript
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
document.compatMode介绍
2009/05/21 Javascript
ext 代码生成器
2009/08/07 Javascript
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
Python中将字典转换为XML以及相关的命名空间解析
2015/10/15 Python
django轻松使用富文本编辑器CKEditor的方法
2017/03/30 Python
Python实现注册登录系统
2017/08/08 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
详解django中Template语言
2020/02/22 Python
Python错误的处理方法
2020/06/23 Python
详解python中的lambda与sorted函数
2020/09/04 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
机械专业个人求职自荐信格式
2013/09/21 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
团日活动总结怎么写
2014/06/25 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技