前言
本文的文字及圖片來源于網(wǎng)絡(luò),僅供學習论泛、交流使用,不具有任何商業(yè)用途,如有問題請及時聯(lián)系我們以作處理。
PS:如有需要Python學習資料的小伙伴可以加點擊下方鏈接自行獲取
本文概述
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)隱藏索引列(注意最左邊J仔浮)绊率;
- (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( )
好了焰轻,今天就為大家介紹到這里臭觉,趕緊下去嘗試吧!