Pandas Styler, должно быть просто установить класс для строки () на основе некоторой логики ячейкиCSS

Разбираемся в CSS
Ответить
Anonymous
 Pandas Styler, должно быть просто установить класс для строки () на основе некоторой логики ячейки

Сообщение Anonymous »

Это должно быть просто, но до сих пор Google не был другом, он потратил впустую много времени с без ответа, которые отвечают на неправильный вопрос.
Итак, я знаю, что у нас есть Df.style. SET_TD_CLASSES (CLASSE) , что позволяет мне установить класс на каждом «TD» на основе данных о данных имен классов. Однако это ничего не делает для значений индекса. Я хочу, чтобы весь ряд получил урок. например. , что сделало бы его таким простым, я мог бы создать серию с именами классов, где я хотел, точно так же, как и для set_td_classes. Но нет никакой доступной функции. < /P>
Что я могу сделать, чтобы привлечь панд для установки имени класса на элемент TR? < /P>
В ответ на A Несколько комментариев.
Вот небольшой кусочек кода Python, чтобы показать проблему ... < /p>
def highlight_max(x, color):
if len(x.shape) < 2:
if any(abs(x)>1.0):
return pd.Series(f'color:{color};', x.index)
else:
return pd.Series(None, x.index)
else:
return np.where(x.to_numpy()>1.0, f"color: {color};", None)
df = pd.DataFrame(np.random.randn(5, 2), columns=["A", "B"])
# 1
df.style.apply(highlight_max, color='red').to_html(Path.home()/'teststyle.htm')
# 2
df.style.apply(highlight_max, color='blue', axis=1).to_html(Path.home()/'teststyle.htm')
# 3
df.style.apply(highlight_max, color='green', axis=None).to_html(Path.home()/'teststyle.htm')
< /code>
if style.apply должен был достичь результата, который я ищу, тогда № 2 должен был дать мне мой html (@quang hoang), но это не так.
Он выделяется по всем столбцам в строке, но не в индексе.
Также HTML довольно уродливый, с отдельным классом, определенным для каждой ячейки!


#T_16f7a_row2_col0, #T_16f7a_row2_col1, #T_16f7a_row4_col0, #T_16f7a_row4_col1 {
color: blue;
}




 
A
B




0
0.570318
-0.791125


1
0.734733
0.344844


2
1.703771
0.693211


3
0.740752
-0.588767


4
-1.817743
0.602709




< /code>
Существует способ заставить ваш собственный идентификатор таблицы (почти, он всегда получает префикс 't_'), так что у вас могут быть предсказуемые имена классов для внешнего файла CSS. Однако это не будет слишком полезным, поскольку, чтобы изменить набор рядов, вам придется вызвать уникальный класс для идентификатора класса каждой строки (в каждой ячейке). До сих пор нет экспортированного класса в ячейку «TR», что я ищу.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-on-some
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»