您好,登錄后才能下訂單哦!
小編給大家分享一下如何用pandas中to_excel添加顏色,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
我就廢話不多說了,大家還是直接看代碼吧~
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自定義顏色顯示
原始表是這樣,一堆數字視覺表達能力很差
quantity_year.style.background_gradient(cmap='gray_r')
按照大小對其進行不同顏色的填充,視覺表達能力強了很多。 也可以自定義顏色填充,比如我這里對大于平均值的進行顏色填充。
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添加顏色有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。