#python #pandas #dataframe #styles
#python #pandas #фрейм данных #стили
Вопрос:
У меня есть следующий код, работающий в Pycharm, он не работает — это какая-то основная проблема? на форуме stack overflow есть много похожих вопросов, я прошел через это, я пришел к выводу, что функция style не работает в Pycharm, я должен переключиться на Jupiter Notebook, это правда? пожалуйста, укажите, импортируйте pandas как pd импортируйте numpy как np data = pd.DataFrame (np.random.randn(5, 3), столбцы =список(‘ABC’)) #печать (данные)
def highlight_cols(x): #копировать df в новый — исходные данные не изменены df = x.copy() #выбрать все значения по умолчанию — красный цвет df.loc[:,:] = ‘background-color: red’ # перезаписать значения серым цветом df[[‘B’,’C’]]] = ‘background-color: grey’ #вернуть цвет df, вернуть df
data.style.apply(highlight_cols, axis=None) печать(данных)
Ответ №1:
похоже, что ваша попытка распечатать его должна быть
import pandas as pd import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), columns=list('ABC'))
def color_negative_red(val):
color = 'red' if val < 0 else 'black'
return 'color: %s' % color
# from the resource given I assume apply is an actual method, while the resource
# below uses applymap method
styled = df.style.applymap(highlight_cols)
# you previous code, your attempting to print instead of render.
# styled.render() #will return the css styling as string
styled
Лично мне нравится использовать pycharm для личного проекта, в то время как Colab или junypter мне нравится запускать быстро. Вот записная книжка, если вы хотите увидеть код в действии.
https://colab.research.google.com/drive/1deWaFprBv3IB1NNFOHB9ce-ebAOKOBXB?usp=sharing
ПРИМЕЧАНИЕ: Метод apply по сравнению с applymap, использование может быть лучше объяснено в приведенном ниже ресурсе. Однако, до такой степени, что метод apply ожидает, что ‘axis’ не имеет значения Null или None; в то время как applymap ожидает скалярное значение.
Ссылка на API Padas:https://pandas.pydata.org/pandas-docs/stable/user_guide/style.html
Комментарии:
1. Код работает правильно, но я не могу визуализировать ответ / таблицу. Где я должен получить таблицу, отформатированную по коду.
2. вам нужно объявить новую переменную с инициализированным или присвоенным значением
data.style.apply(highlight_cols, axis=None)
, а затем использовать новую переменную для виртуализации вашей таблицы.render
метод. Например,styled = data.style.apply(highlight_cols, axis=None)
будет инициализированной переменной, которая была назначена. где затем вы должны вызватьstyled.render()
для виртуализации данных таблицы.3. Если вы нашли предоставленный ответ полезным или решили проблему, пожалуйста, отметьте как правильный. Спасибо
4. код @MahendraVidhate обновлен и включен notebook, чтобы увидеть его в действии