再見,Excel!一行Pandas代碼,即可實現(xiàn)漂亮的 “條件格式”!
本文概述
Pandas 是數(shù)據(jù)科學家做數(shù)據(jù)處理時,使用最多的工具。
對比Excel,我們可以發(fā)現(xiàn):Pandas基本可以實現(xiàn)所有的Excel的功能,并且比Excel更方便、簡潔,其實很多操作我們在過去的文章中,或多或少都講述過。
但是在數(shù)據(jù)框上,完成各種 “條件格式” 的設(shè)置,幫助我們更加凸顯數(shù)據(jù),使得數(shù)據(jù)的展示更加美觀,今天還是頭一次講述。

上圖左表展示的是某班級期末考試的成績數(shù)據(jù),我們要利用左表完成如右表的效果展示,需要完成的目標如下:
(1)將“均值”這一列的數(shù)值,保留1位小數(shù); (2)給這份數(shù)據(jù),添加一個標題輔助說明“高三(5)班期末考試成績”,方便我們區(qū)分數(shù)據(jù); (3)隱藏索引列(注意最左邊!); (4)隱藏指定列,有些列我們不作處理,可以不做展示; (5)將“語文”這一列的數(shù)值,依數(shù)值大小畫條狀圖; (6)將“均值”這一列數(shù)據(jù)最大的值,高亮(highlight)展示; (7)將“數(shù)學”這一列的數(shù)值,依數(shù)值畫一個綠色的colormap; (8)將整個DataFrame 的空值顯示為紅色,著重突出;
一行代碼即可上述所有操作
用過Pyecharts的朋友可能都知道“鏈式規(guī)則”,在這里我們同樣可以采用這種方法,用一行代碼就可以實現(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ù)學').highlight_null()
結(jié)果如下:

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

上面我們直接一行代碼實現(xiàn)所有的功能,如果我們只想實現(xiàn)某一個功能怎么辦呢?
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( )
好了,今天就為大家介紹到這里,趕緊下去嘗試吧!
程序員GitHub,現(xiàn)已正式上線! 接下來我們將會在該公眾號上,專注為大家分享GitHub上有趣的開源庫包括Python,Java,Go,前端開發(fā)等優(yōu)質(zhì)的學習資源和技術(shù),分享一些程序員圈的新鮮趣事。
年度爆款文案
6).30個Python奇淫技巧集?
點這里,獲取新手福利
評論
圖片
表情


