Есть ли способ добавить форматированный столбец в Pandas DataFrame при работе с ним в ноутбуках IPython? Я хотел бы добавить URL-адрес данных <img>
и показать его в ячейке.Форматирование HTML в Pandas DataFrame
ответ
Если src
URLs слишком long, pandas усекают их, когда он отображает его. Вам нужно увеличить максимальную ширину столбца, чтобы разместить это.
отслеживать текущую ширину макс колонке
current_max_colwidth = pd.get_option('display.max_colwidth')
print(current_max_colwidth)
50
Установить опцию на что-то большое
pd.set_option('display.max_colwidth', 1000)
импорта функции HTML
дисплей
from IPython.display import HTML
использовать dataframe to_html
с параметром escape=False
HTML(
pd.DataFrame([
"""<img src="http://stackoverflow.com/users/flair/2336654.png?theme=default">""",
"""<img src="http://stackoverflow.com/users/flair/2543372.png?theme=default">""",
"""<img src="http://stackoverflow.com/users/flair/44330.png?theme=default">"""
]).to_html(escape=False))
Set вариант назад
pd.set_option('display.max_colwidth', current_max_colwidth)
Заверните в кругленькую функции
def my_to_html(df):
current_max_colwidth = pd.get_option('display.max_colwidth')
pd.set_option('display.max_colwidth', 1000)
from IPython.display import HTML
my_html = HTML(df.to_html(escape=False))
pd.set_option('display.max_colwidth', current_max_colwidth)
return my_html
df = pd.DataFrame([
"""<img src="http://stackoverflow.com/users/flair/2336654.png?theme=default">""",
"""<img src="http://stackoverflow.com/users/flair/2543372.png?theme=default">""",
"""<img src="http://stackoverflow.com/users/flair/44330.png?theme=default">"""
])
my_to_html(df)
есть ли способ сделать это, не называя 'HTML (df.to_html (escape = False))'? может ли dataframe сделать это сам? –
Я не мог найти для этого вариант. Я обнаружил, что не избежать «латекса» ... это не делает нам ничего хорошего. Вы можете перезаписать метод 'to_html' для этого фреймворка данных, но это довольно хаки. Я обновил сообщение с функцией, которая сделает это. – piRSquared
спасибо! это очень сложно найти всю эту информацию, если вы не знакомы с библиотеками ... –
Вот пример:
from IPython.display import HTML
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
# this file is in the same folder as the notebook I'm using on my drive
df['image'] = 'so-logo.png'
df['new'] = df['image'].apply(lambda x: '<img src="{}"/>'.format(x) if x else '')
HTML(df.to_html(escape=False))
В качестве альтернативы вы можете использовать df.style
вместо IPython.display.HTML
. Это также позволяет добавлять другое форматирование, например, чтобы выделить строку на парении:
from IPython.display import HTML
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df['image'] = 'so-logo.png'
df['new'] = df['image'].apply(lambda x: '<img src="{}"/>'.format(x) if x else '')
def hover(hover_color="#ffff99"):
return dict(selector="tr:hover",
props=[("background-color", "%s" % hover_color)])
styles = [
hover(),
dict(selector="th", props=[("font-size", "150%"),
("text-align", "center")]),
dict(selector="caption", props=[("caption-side", "bottom")])
]
html = (df.style.set_table_styles(styles)
.set_caption("Hover to highlight."))
html
У меня есть курсор на второй строке здесь:
- 1. Pandas DataFrame Форматирование Float
- 2. Форматирование Pandas DataFrame с квантовым qgrid
- 3. PANDAS TO_HTML условного форматирование
- 4. Pandas: DataFrame в DataFrame
- 5. Dataframe PANDAS
- 6. Форматирование выходных данных pandas
- 7. Как преобразовать таблицу html в dataframe pandas
- 8. Преобразование таблицы html в dataframe pandas
- 9. Форматирование выходных данных Pandas
- 10. Форматирование dataframe в добавление
- 11. Форматирование текста в сводной таблице pandas
- 12. Редактировать pandas dataframe in flask html page
- 13. Pandas Dataframe
- 14. Где находится HTML-код для Pandas DataFrame?
- 15. Проблема с Xlsxwriter форматирование вывода pandas DataFrame для excel
- 16. операции в pandas DataFrame
- 17. Усовершенствованный Dataframe в Pandas
- 18. Объединение Dataframe в Pandas
- 19. Pandas: Записать в Dataframe
- 20. Изменение DataFrame в pandas
- 21. Форматирование вывода из Pandas .groupby.size()
- 22. Pandas dataframe to AnguarJS
- 23. pandas, конвертировать DataFrame в MultiIndex'ed DataFrame
- 24. Графы Dataframe из строк Dataframe в Pandas
- 25. Отображение pandas Строки DataFrame в pandas Series
- 26. Форматирование nlargest output pandas
- 27. Pandas Datetime Форматирование
- 28. Форматирование столбца с pandas
- 29. Форматирование данных Python Pandas
- 30. Форматирование строк timedeltas в Pandas
И вы хотите, чтобы изображение для отображения в ячейке? –
Правильно ............ –
Нам действительно нужно это много "...." :)? –