1 回答

TA貢獻1876條經驗 獲得超5個贊
如果您在筆記本或可以渲染 HTML 的地方工作,則可以使用styledataframe 的訪問器和 w/ background_gradient。Seaborn 可以非常輕松地為此目的生成色彩圖。
您可以使用參數指定要應用顏色圖的列subset。
import pandas as pd
import seaborn as sns
df2 = pd.DataFrame({"name": ['a','b','c','d','e'],
"year": ['2012','2013','2010','2008','2011'],
"value": ['254','220','275','283','323'],
"age": ['42','32','27','28','32']})
df2["value"] = pd.to_numeric(df2["value"])
df2["age"] = pd.to_numeric(df2["age"])
cm = sns.light_palette("green", as_cmap=True)
df2.style.background_gradient(cmap=cm, subset=["value", "age"])
如果您想要不同的顏色或指定單獨的vmin/vmax到列,您只需調用background_gradient多次即可。
green_cm = sns.light_palette("green", as_cmap=True)
blue_cm = sns.light_palette("blue", as_cmap=True)
(df2.style
.background_gradient(cmap=blue_cm, subset="value", vmin=200, vmax=400)
.background_gradient(cmap=green_cm, subset="age", vmin=0, vmax=50))
添加回答
舉報