Примечание
Аналогичная ссылка Dynami c Оценка выражения в pandas с использованием pd.eval ()
Эта ссылка говорит о df.eval
и df.query
но не решает эту проблему напрямую.
MWE
import numpy as np
import pandas as pd
import seaborn as sns
df = sns.load_dataset('titanic')
df1 = df.head()
def mystyle(df, cond,x=None,v=None):
return df.style.apply(lambda x: ["background: salmon"
if eval(cond) # eval(cond) exec(cond)
else ""
for v in x], axis = 1)
cond = "x.name == 2 and v == 3"
# Note: the arbitrary condition only involves two variables x (pandas series) and v (value)
mystyle(df1,cond)
Вопрос
Как реализовать функцию mystyle(df,cond)
, которая дает результат
введите описание изображения здесь
Ошибка
NameError: name 'x' is not defined