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自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
Python将8位的图片转为24位的图片实现方法
Oct 24 Python
python的concat等多种用法详解
Nov 28 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
Python实现生成密码字典的方法示例
Sep 02 Python
Python集合操作方法详解
Feb 09 Python
Django的CVB实例详解
Feb 10 Python
Python获取对象属性的几种方式小结
Mar 12 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 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防注
2007/01/15 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
nodejs读取memcache示例分享
2014/01/02 NodeJs
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
pycharm运行程序时在Python console窗口中运行的方法
2018/12/03 Python
24式加速你的Python(小结)
2019/06/13 Python
python制作朋友圈九宫格图片
2019/11/03 Python
Python networkx包的实现
2020/02/14 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
《一株紫丁香》教学反思
2014/02/19 职场文书
签约仪式主持词
2014/03/19 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
初中教师个人总结
2015/02/10 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle