[英]Shifting the color value based on percentage from green to red using PyGame
[英]Add a new column for color code from red to green based on the increasing value of Opportunity in data frame
我有一個數據框,我想為顏色代碼生成一個新的列,它從紅色開始代表機會的最低價值,然后向綠色移動以獲得機會的最高價值
我的數據框 -
State Brand DYA Opportunity
Jharkhand Ariel 0.15 0.00853
Jharkhand Fusion 0.02 0.00002
Jharkhand Gillett 0.04 -0.0002
要獲得從紅色到綠色的顏色范圍,您可以使用 matplotlib color maps
,更具體地說,是RdYlGn
。 但在應用顏色映射之前,首先,您需要將Opportunity
列中的數據標准化為 0 和 1 之間的值。然后,您可以從這里以您認為合適的任何方式將數據編碼為顏色代碼。 例如,我在這里使用 Pandas apply
function 和rbg2hex
,目的是獲取表示Opportunity
列中使用的顏色映射的 CSS 值。
import matplotlib.cm as cm
from matplotlib.colors import Normalize
from matplotlib.colors import rgb2hex
# df = Your original dataframe
cmapR = cm.get_cmap('RdYlGn')
norm = Normalize(vmin=df['Opportunity'].min(), vmax=df['Opportunity'].max())
df['Color'] = df['Opportunity'].apply(lambda r: rgb2hex(cmapR(norm(r))))
dstyle = df.style.background_gradient(cmap=cmapR, subset=['Opportunity'])
dstyle.to_html('sample.html')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.