如何在lambda.apply函数中应用嵌套for循环来迭代dataframe中的列,预期输出如下图所示

2024-09-30 08:26:51 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在lambda.apply函数中应用嵌套for循环来迭代dataframe中的列,预期输出如下图所示

import pandas as pd
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from datetime import date, datetime, timedelta
import smtplib

# Setup data
firstProductSet = {'Product1': ['Computer','Phone','Printer','Desk'],'Price1': [1200,800,200,350],'Price2': [11,11,11,11],'Price3': [1,800,1,1],'Price4': [111,111,11,111]}
df1 = pd.DataFrame(firstProductSet,columns= ['Product1', 'Price1','Price2','Price3','Price4'])

尝试结果

result_2 = (df1.style.apply(lambda x:["color: red" if ((i == 3 and v != x.iloc[1]) or (i == 4 and v != x.iloc[2])) else "" for i, v in enumerate(x)], axis=1))

html=result_2.hide_index().render()

Tags: lambdafromimportfordatetimeemailpdapply

热门问题