再見,Excel!一行Pandas代碼,即可實(shí)現(xiàn)漂亮的 “條件格式”!
擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
本文概述
Pandas 是數(shù)據(jù)科學(xué)家做數(shù)據(jù)處理時(shí),使用最多的工具。
對比Excel,我們可以發(fā)現(xiàn):Pandas基本可以實(shí)現(xiàn)所有的Excel的功能,并且比Excel更方便、簡潔,其實(shí)很多操作我們在過去的文章中,或多或少都講述過。
但是在數(shù)據(jù)框上,完成各種 “條件格式” 的設(shè)置,幫助我們更加凸顯數(shù)據(jù),使得數(shù)據(jù)的展示更加美觀,今天還是頭一次講述。

上圖左表展示的是某班級期末考試的成績數(shù)據(jù),我們要利用左表完成如右表的效果展示,需要完成的目標(biāo)如下:
(1)將“均值”這一列的數(shù)值,保留1位小數(shù); (2)給這份數(shù)據(jù),添加一個(gè)標(biāo)題輔助說明“高三(5)班期末考試成績”,方便我們區(qū)分?jǐn)?shù)據(jù); (3)隱藏索引列(注意最左邊!); (4)隱藏指定列,有些列我們不作處理,可以不做展示; (5)將“語文”這一列的數(shù)值,依數(shù)值大小畫條狀圖; (6)將“均值”這一列數(shù)據(jù)最大的值,高亮(highlight)展示; (7)將“數(shù)學(xué)”這一列的數(shù)值,依數(shù)值畫一個(gè)綠色的colormap; (8)將整個(gè)DataFrame 的空值顯示為紅色,著重突出;
一行代碼即可上述所有操作
用過Pyecharts的朋友可能都知道“鏈?zhǔn)揭?guī)則”,在這里我們同樣可以采用這種方法,用一行代碼就可以實(shí)現(xiàn)上述所有的功能。
1. 讀取數(shù)據(jù)
import pandas as pd
df = pd.read_excel("特殊.xlsx")
df.index = list(range(df.shape[0]))
df
結(jié)果如下:

2. 一行代碼
df.style.format('{:.1f}',subset='均值').set_caption('高三(5)班期末考試成績').\
hide_index().hide_columns(['索引']).bar('語文',vmin=0).highlight_max('均值').\
background_gradient('Greens',subset='數(shù)學(xué)').highlight_null()
結(jié)果如下:

使用說明
這個(gè)是Pandas0.17.1中的新功能。官方文檔中說到:這是一項(xiàng)新功能,正在積極開發(fā)中。我們將添加功能,并可能在將來的版本中進(jìn)行重大更改。
這個(gè)方法出現(xiàn)在pandas.formats.style.Styler類中,今天在這里就不詳細(xì)介紹該方法的原理,大家知道怎么使用就行,后將在后面的文章中為大家慢慢介紹。

上面我們直接一行代碼實(shí)現(xiàn)所有的功能,如果我們只想實(shí)現(xiàn)某一個(gè)功能怎么辦呢?
df.style.format( ) df.style.set_caption( ) df.style.hide_index( ) df.style.hide_columns( ) df.style.bar( ) df.style.highlight_max( ) df.style.background_gradient( ) df.style.highlight_null( )
好了,今天就為大家介紹到這里,趕緊下去嘗試吧!
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
