Pandas 是否可以使用“style.apply()”函数来更改一些样式属性? 请考虑下一个例子: 作为pd进口熊猫 将numpy作为np导入 def foox: 返回['color:black'如果v>0,则返回'color:black';对于x中的v,则返回'color:black' def barx: 返回['background-color:darkorange'如果v>0,则返回'else'对于x中的v] df=pd.DataFramenp.random.randn5,4,列=['A1','B1','A2','B2'] colnames=[c表示df.columns中的c,如果c中的'A' df.style.applyfoo,subset=colnames.applybar,subset=colnames

Pandas 是否可以使用“style.apply()”函数来更改一些样式属性? 请考虑下一个例子: 作为pd进口熊猫 将numpy作为np导入 def foox: 返回['color:black'如果v>0,则返回'color:black';对于x中的v,则返回'color:black' def barx: 返回['background-color:darkorange'如果v>0,则返回'else'对于x中的v] df=pd.DataFramenp.random.randn5,4,列=['A1','B1','A2','B2'] colnames=[c表示df.columns中的c,如果c中的'A' df.style.applyfoo,subset=colnames.applybar,subset=colnames,pandas,Pandas,是否有一种方法可以在单个函数中传递“颜色:黑色”和“背景颜色:暗色调” PS:我知道有这样的东西,但你不能有条件地使用它。IIUC: import pandas as pd import numpy as np def foo(x): return ['color: yellow; background-color: darkorange; text-decoration: underline' if v > 0 else '' for v in x] np.random.se

是否有一种方法可以在单个函数中传递“颜色:黑色”和“背景颜色:暗色调”

PS:我知道有这样的东西,但你不能有条件地使用它。

IIUC:

import pandas as pd
import numpy as np

def foo(x):
    return ['color: yellow; background-color: darkorange; text-decoration: underline' if v > 0 else '' for v in x]

np.random.seed(123)
df = pd.DataFrame(np.random.randn(5, 4), columns=['A1','B1', 'A2', 'B2'])
colnames = [c for c in df.columns if 'A' in c]

df.style.apply(foo, subset=colnames)
使用“;”分隔样式:


在我将这个问题发布到StackOverflow上之前,我尝试了逗号。分号很好用,我很高兴: