【Python基础】pandas的骚操作:一行 pandas 代码搞定 Excel “条件格式”!
來源:Python數據科學
作者:東哥起飛
本篇是pandas100個騷操作系列的第 7?篇:一行 pandas 代碼搞定 Excel “條件格式”!
系列內容,請看????「pandas100個騷操作」話題,訂閱后文章更新可第一時間推送。
條件格式
說實話,Excel的 “條件格式” 是東哥非常喜歡的功能之一,通過添加顏色條件可以讓表格數據更加清晰的凸顯出統計特性。
有的朋友在想,這樣的操作在python可能會很復雜。但其實一點不復雜,而且只需一行代碼即可。
為什么可以做到一行代碼實現 “條件格式”?
一是使用了pandas的style方法,二是要得益于pandas的鏈式法則。
下面我們來一起看個例子,體驗一下這個組合操作有多騷。
實例
首先,我們導入數據集,使用經典的titanic中抽樣的部分數據。
import?pandas?as?pd df?=?pd.read_csv("test.csv") df可以看到,現在這個dataframe是空白的,什么都沒有的,現在要給表格添加一些條件。
1、比如我們想讓Fare變量值呈現條形圖,以清楚看出各個值得大小比較,那么可直接使用bar代碼如下。
df.style.bar("Fare",vmin=0)2、再比如,我們想讓Age變量呈現背景顏色的梯度變化,以體驗映射的數值大小,那么可直接使用background_gradient,深顏色代表數值大,淺顏色代表數值小,代碼如下。
df.style.background_gradient("Greens",subset="Age")3、讓所有缺失值都高亮出來,可使用highlight_null,表格所有缺失值都會變成高亮。
以上就是pandas的style條件格式,用法非常簡單。下面我們用鏈式法則將以上三個操作串起來,只需將每個方法加到前一個后面即可,代碼如下。
當然,如果你希望加更多的條件格式效果,還可以繼續讓鏈式更長,但不論條件怎么多,都只是一行代碼。
其它操作
上面僅僅是列舉了三個style中常用的操作,還有很多其他操作比如高亮最大值、給所有負值標紅等等,通過參數subset還可以指定某一列或者某幾列的小范圍內進行條件格式操作。
#?負值標為紅色 applymap(color_negative_red)#?高亮最大值 apply(highlight_max)#?使某一列編程±前綴,小數點保留兩位有效數字 format({"Coulumn":?lambda?x:?"±{:.2f}".format(abs(x))})#?使用subset進行dataframe切片,選擇指定的列 applymap(color_negative_red,subset=pd.IndexSlice[2:5,?['B',?'D']])另外,還有很多的效果可以實現,比如結合seaborn的各種風格。
import?seaborn?as?sns cm?=?sns.light_palette("green",?as_cmap=True) df.style.background_gradient(cmap=cm)如果結合Ipython的HTML還可以實現炫酷的動態效果。
from?IPython.display?import?HTMLdef?hover(hover_color="#ffff99"):return?dict(selector="tr:hover",props=[("background-color",?"%s"?%?hover_color)])styles?=?[hover(),dict(selector="th",?props=[("font-size",?"150%"),("text-align",?"center")]),dict(selector="caption",?props=[("caption-side",?"bottom")]) ] html?=?(df.style.set_table_styles(styles).set_caption("Hover?to?highlight.")) html關于style條件格式的所有用法,可以參考pandas的官方文檔。
鏈接:https://pandas.pydata.org/pandas-docs/version/0.18/style.html
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 本站知識星球“黃博的機器學習圈子”(92416895) 本站qq群704220115。 加入微信群請掃碼: 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【Python基础】pandas的骚操作:一行 pandas 代码搞定 Excel “条件格式”!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11和Win10有什么区别 Win
- 下一篇: Win7系统隐藏文件恢复的方法