第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何鏈接 pandas 中樣式函數(shù)的條件?

如何鏈接 pandas 中樣式函數(shù)的條件?

Smart貓小萌 2023-10-06 10:51:43
這就是我想要實現(xiàn)的目標(biāo)我確實有一個 Pandas Dataframe - 例如這個:            0           1           20  110.718803  119.821042  -52.5935181   65.180254   33.518722  -69.8936882 -135.652788  -64.711718 -241.7178193  237.781393  -56.865142   15.9697674  141.585158  138.904568 -115.1550635   10.030938  -59.274415   73.3281276  106.937681   -3.604859   44.4189387  -49.478211  -91.574908  160.3406278  170.744019  -85.764809  246.1418579  -94.246832   81.069700 -113.460438基于 3 個條件,單元格的背景顏色應(yīng)該不同:單元格 <= 0 應(yīng)為紅色單元格 >= 100 應(yīng)為藍(lán)色所有其他單元格這就是我為實現(xiàn)這一目標(biāo)所做的我編寫了這個函數(shù)(基于 Pandas 文檔Pandas 樣式中的信息:def highlight_number(row):    return [        'background-color: red; color: white' if cell <= 0        else 'background-color: green; color: white'        for cell in row    ]df.style.apply(highlight_number)它適用于兩種情況。這是我的問題我嘗試了不同的方法將第三個條件添加到上面的函數(shù)中,但總是返回錯誤。您能給我提示如何在列表中添加條件嗎?我沒有找到答案。多謝。
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗 獲得超3個贊

您可以編寫普通的 for 循環(huán)而不是列表理解。


def highlight_number(row):

    arr = []

    for cell in row:

        if  cell <= 0:

            arr.append('background-color: red; color: white')

        elif cell >= 100:

            arr.append('background-color: blue; color: white')

        else:

            arr.append('background-color: white; color: black')

    return arr

df.style.apply(highlight_number)

輸出:

https://img1.sycdn.imooc.com//651f767a000124c503030328.jpg

查看完整回答
反對 回復(fù) 2023-10-06
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊

我覺得最簡單的方法是使用np.select它接受條件列表和選擇列表(就像 if elif 并且也像 else 一樣接受默認(rèn)值)并修改你的函數(shù)并使用它,axis=None因為我們正在應(yīng)用于整個數(shù)據(jù)幀(注意你也可用于subset列的子集)

def highlight_number(dataframe):

? ??

? ? conditions = [dataframe <=0,(dataframe>0) & (dataframe>=100)] #your conditions

? ? choices = ['background-color: red; color: white',

? ? ? ? ? ? ? ?'background-color: blue; color: white']

? ? arr = np.select(conditions,choices,'background-color: white; color: black')

? ? return pd.DataFrame(arr,index=dataframe.index,columns=dataframe.columns)



df.style.apply(highlight_number,axis=None)

https://img1.sycdn.imooc.com//651f768c0001474703350445.jpg

查看完整回答
反對 回復(fù) 2023-10-06
  • 2 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號