溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何用pandas中to_excel添加顏色

發(fā)布時間:2020-07-15 11:30:11 來源:億速云 閱讀:2439 作者:清晨 欄目:開發(fā)技術(shù)

小編給大家分享一下如何用pandas中to_excel添加顏色,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

我就廢話不多說了,大家還是直接看代碼吧~

import pandas as pd
import numpy as np
 
columns = [['A', 'A', 'B', 'B', 'C'], ['a', 'b', 'c', 'd', 'e']]
# 創(chuàng)建形狀為(10,5) 的DataFrame 并設(shè)置二級標(biāo)題
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: 字典 內(nèi)容是 {標(biāo)題:顏色}
  :return: 
  """
  return df.style.apply(style_apply, colors=colors)
 
def style_apply(series, colors, back_ground=''):
  """
  :param series: 傳過來的數(shù)據(jù)是DataFramt中的一列  類型為pd.Series
  :param colors: 內(nèi)容是字典 其中key 為標(biāo)題名  value 為顏色
  :param back_ground: 北京顏色
  :return:
  """
  series_name = series.name[0]
  a = list()
  # 為了給每一個單元格上色
  for col in series:
    # 其中 col 為pd.DataFrame 中的 一個小單元格  大家可以根據(jù)不同需求為單元格設(shè)置不同的顏色
    # 獲取什么一級標(biāo)題獲取什么顏色
    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:
  #注意: 二級標(biāo)題的to_excel index 不能為False
  style_df.to_excel(writer, sheet_name='sheet_name')

以上就是pandas.DataFrame 二級標(biāo)題to_excel() 添加顏色的demo 大家可以自行根據(jù)不同需求修改

主要注意

style_apply 方法中的內(nèi)容 里面是真正設(shè)置顏色的地方

補充知識:對pandas的dataframe自定義顏色顯示

原始表是這樣,一堆數(shù)字視覺表達(dá)能力很差

如何用pandas中to_excel添加顏色

quantity_year.style.background_gradient(cmap='gray_r')

如何用pandas中to_excel添加顏色

按照大小對其進(jìn)行不同顏色的填充,視覺表達(dá)能力強了很多。 也可以自定義顏色填充,比如我這里對大于平均值的進(jìn)行顏色填充。

quantity_year.style.applymap(lambda v
               : 'background-color: %s' %'#FFCCFF' if v>quantity_year.mean().mean() 
               else'background-color: %s'% '')

當(dāng)然也可以自己def 更復(fù)雜的功能,都是大同小異。當(dāng)然還有highlight_max(‘color'),highlight_min(‘color')這種高亮最小最大值,也有hide_index()這種隱藏索引的小操作,在這里記錄一下。

看完了這篇文章,相信你對如何用pandas中to_excel添加顏色有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI