python - 不了解 Pandas 样式器如何用于导出到 excel(.format、.set_properties)
问题描述
我在将 Pandas Dataframe 格式化导出到 Excel 后遇到一些问题。我阅读了https://pandas.pydata.org/pandas-docs/stable/style.html并尝试按照示例进行操作,但我唯一可以工作的是 .apply 和 .applymap。
我的代码如下。我想做三件事 - 将边框颜色设置为黑色,将数字设置为百分比,并使用 Pandas Styler 格式化函数将红色应用于负数,将其导出到 Excel 文件中。任何帮助或指导将不胜感激。
import pandas as pd
import numpy as np
import xlsxwriter
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
axis=1)
df.iloc[0, 2] = np.nan
def color_negative_red(val):
color = 'red' if val < 0 else 'black'
return 'color: %s' %color
workbook = xlsxwriter.Workbook('example20.xlsx')
writer = pd.ExcelWriter(workbook.filename, engine = 'xlsxwriter')
workbook = writer.book
worksheet = workbook.add_worksheet('Sheet1')
writer.sheets['Sheet1'] = worksheet
worksheet.hide_gridlines(2)
df1 = df.style.set_properties(**{'border-color':'black'}) #this line of code doesn't work.
df2 = df1.style.format("{:.2%}").applymap(color_negative_red) #this line of code works only for the applymap(color_negative_red) section.
df2.to_excel(writer, sheet_name='Sheet1')
writer.save()
解决方案
推荐阅读
- c++ - 我如何将 UE4 链接到 SQL Server?
- android - Android Xposed Hook PackageManagerService 找不到类“com.android.server.pm.PackageManagerService”
- spring-data - ArangoRepository 扩展类中的方法在查询注释中使用 COLLECT 来分组和计数不起作用
- android - 如何在片段列表中找到特定片段?
- python - Google Cloud Run 不是流式管道 | 命令
- javascript - 如何使用下拉选项在输入框中显示表格值
- date - 去年和当年的数据
- python - 如何使用 selenium 和 python 找到并单击此开始按钮?
- c# - 如何在 Linux 上使用 p/invoke 获取 UID 和 GID?
- perl - PerlXS:尝试释放可能会崩溃()