【发布时间】:2021-07-24 07:30:31
【问题描述】:
我正在尝试对从 csv 文件中的数据创建的表中的行进行样式设置。我正在使用 Jupyter Notebook 运行我的 python 代码。我的csv文件中的数据如下:
[[' ', 'VZ', 'T', 'TMUS'],
['Current Ratio', 1.4, .8, 1.1],
['Quick Ratio', 1.3, .8, 1.0],
['Debt to Equity', 1.9, .97, 1.17],
['LT Debt to Equity', 1.82, .95, 1.09],
['ROA', 6.1, 2.0, 1.8],
['ROI', 10.9, 1.7, 4.1],
['Gross Margin', 59.5, 52.7, 59.6],
['Oper. Margin', 19.1, 13.0, 9.7],
['Profit Margin', 14.1, 6.3, 4.5]]
csv 保存到我的桌面,我正在使用 pandas read_csv 读取它:
import pandas as pd
data = pd.read_csv('/Users/broderickbonelli/Desktop/test.csv', index_col=" ")
我的目标是使用“RdYlGn”颜色图正确地对表格进行颜色编码。我正在使用 .style.background_gradient()。
data = data.style.background_gradient(axis=1, cmap='RdYlGn')
display(data)
这会将颜色图应用于整个表格。我遇到的问题是各种行(债务到股权行)需要一个反转的颜色图,同时保持表格的其余部分相同/不变。
我现在只需要反转“债务到权益”和“长期债务到权益”行的颜色图,因为高值应该是红色,低值应该是绿色。我能够将行定位为子集并应用反向 cmap 'RdYlGn_r' 但现在渐变没有正确应用,因为所有列都是相同的颜色。
我试过的代码是:
data = data.style.background_gradient(axis=1, cmap='RdYlGn').set_precision(2).background_gradient(cmap='RdYlGn_r', subset=(data.index[2], data.columns)).background_gradient(cmap='RdYlGn_r', subset=(data.index[3], data.columns))
display(data)
我不确定为什么梯度不能正确应用于债转股行,但当我应用于整个表时。任何帮助将不胜感激!
【问题讨论】:
标签: python pandas dataframe csv jupyter-notebook