【Python基礎(chǔ)】pandas的騷操作:一行 pandas 代碼搞定 Excel “條件格式”!

本篇是pandas100個(gè)騷操作系列的第 7?篇:一行 pandas 代碼搞定 Excel “條件格式”!
style方法,二是要得益于pandas的鏈?zhǔn)椒▌t。import?pandas?as?pd
df?=?pd.read_csv("test.csv")
df

bar代碼如下。df.style.bar("Fare",vmin=0)

background_gradient,深顏色代表數(shù)值大,淺顏色代表數(shù)值小,代碼如下。df.style.background_gradient("Greens",subset="Age")

highlight_null,表格所有缺失值都會(huì)變成高亮。df.style.highlight_null()

pandas的style條件格式,用法非常簡(jiǎn)單。下面我們用鏈?zhǔn)椒▌t將以上三個(gè)操作串起來(lái),只需將每個(gè)方法加到前一個(gè)后面即可,代碼如下。df.style.bar("Fare",vmin=0).background_gradient("Greens",subset="Age").highlight_null()

style中常用的操作,還有很多其他操作比如高亮最大值、給所有負(fù)值標(biāo)紅等等,通過(guò)參數(shù)subset還可以指定某一列或者某幾列的小范圍內(nèi)進(jìn)行條件格式操作。#?負(fù)值標(biāo)為紅色
applymap(color_negative_red)
#?高亮最大值
apply(highlight_max)
#?使某一列編程±前綴,小數(shù)點(diǎn)保留兩位有效數(shù)字
format({"Coulumn":?lambda?x:?"±{:.2f}".format(abs(x))})
#?使用subset進(jìn)行dataframe切片,選擇指定的列
applymap(color_negative_red,
??????????????????subset=pd.IndexSlice[2:5,?['B',?'D']])
seaborn的各種風(fēng)格。import?seaborn?as?sns
cm?=?sns.light_palette("green",?as_cmap=True)
df.style.background_gradient(cmap=cm)

Ipython的HTML還可以實(shí)現(xiàn)炫酷的動(dòng)態(tài)效果。from?IPython.display?import?HTML
def?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的官方文檔。往期精彩回顧
本站知識(shí)星球“黃博的機(jī)器學(xué)習(xí)圈子”(92416895)
本站qq群704220115。
加入微信群請(qǐng)掃碼:
評(píng)論
圖片
表情
