基于if语句后返回的值将样式应用于python中的整行 将熊猫作为pd导入 df=pd.DataFrame({'numbers':[1,2,3],'colors':['red','white','blue']}, 列=[‘数字’、‘颜色’]) def标志(): 背景:“黄色” 对于df.index中的i: #1.如果颜色=红色且编号
我试图使用if语句中的任何内容来突出显示整行并保存数据帧。编写另一条if语句,再次更新数据框,依此类推,并最终将该数据框写入excel工作表基于if语句后返回的值将样式应用于python中的整行 将熊猫作为pd导入 df=pd.DataFrame({'numbers':[1,2,3],'colors':['red','white','blue']}, 列=[‘数字’、‘颜色’]) def标志(): 背景:“黄色” 对于df.index中的i: #1.如果颜色=红色且编号,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我试图使用if语句中的任何内容来突出显示整行并保存数据帧。编写另一条if语句,再次更新数据框,依此类推,并最终将该数据框写入excel工作表 您的功能不正确: “背景:“黄色”不是有效的css样式 您应该对行应用标志,因此标志应该接受行参数 这里有一个解决方案: import pandas as pd df = pd.DataFrame({'numbers': [1, 2, 3], 'colors': ['red', 'white', 'blue']}, colum
您的功能不正确:
标志
,因此标志
应该接受行参数import pandas as pd
df = pd.DataFrame({'numbers': [1, 2, 3], 'colors': ['red', 'white', 'blue']},
columns=['numbers', 'colors'])
def flag():
background: "Yellow"
for i in df.index:
#1. If colors = red and number < 2
if ('red' in df['colors'][i]) and (df['numbers'][i] < 2):
v = df['colors'][i]
df.style.apply(flag)
def标志(x):
如果x['number'],谢谢你的帮助。还有一个问题是,如果有100个if语句,有一种方法可以编写一个highlight函数并在每个if语句后调用它。您应该考虑所有可能的if语句/格式,并将它们放在flag函数中。
def flag(x):
if x['numbers']<2 and 'red' in x['colors']:
s = 'background: yellow'
else:
s = ''
return [s]*len(x)
# style apply
df.style.apply(flag, axis=1)