所以我有一个TimeSeries数据帧df,它有‘n’列和大量的行:
df = pd.read_csv('percentiles.csv', index_col=0, parse_dates=True)
最后3行df如下所示:
ATH | ATL | 12MH | 12ML | 3MH | 3ML | 1MH | 1ML | |
---|---|---|---|---|---|---|---|---|
Date | ||||||||
2024-02-16 | 6 | 0 | 8 | -1 | 11 | -8 | 15 | -16 |
2024-02-19 | 8 | -1 | 10 | -2 | 11 | -5 | 22 | -11 |
2024-02-20 | 8 | 0 | 13 | 0 | 16 | -2 | 40 | -3 |
我正try 将此df导出为表格(Pdf),单元格的背景 colored颜色 取决于其列中的值的高或低.我发现的一种方法是使用百分比.
我做了另一个三角形,以确定每列的长度:
percentiles = [0, 0.1, 0.2, 0.8, 0.9]
df2 = df.quantile(q=percentiles, axis=0)
df2包含每列的百分位值,看起来像这样:
ATH | ATL | 12MH | 12ML | 3MH | 3ML | 1MH | 1ML | |
---|---|---|---|---|---|---|---|---|
0.0 | 0.0 | -115.0 | 0.0 | -74.0 | 0.0 | -122.0 | 0.0 | -136.0 |
0.1 | 0.0 | -8.0 | 0.0 | -8.0 | 1.0 | -26.1 | 4.0 | -44.1 |
0.2 | 1.8 | -4.0 | 1.0 | -4.0 | 3.0 | -14.0 | 7.0 | -28.0 |
0.8 | 10.0 | 0.0 | 11.0 | 0.0 | 20.0 | -1.0 | 33.0 | -4.0 |
0.9 | 15.0 | 0.0 | 16.0 | 0.0 | 29.0 | 0.0 | 44.1 | -2.0 |
我做了一个字典, for each 百分比指定一种 colored颜色 :
percentile_color = {0:'red', 0.1: 'orange', 0.2: 'white', 0.8: 'lightgreen', 0.9: 'green'}
我希望每列中的每个单元格都按其所在列的百分位数的 colored颜色 进行着色.我可以为一系列(列)这样做,但一旦我创建了数据帧,其中每一列都有不同的百分位数,我就卡住了.有什么建议吗?谢谢!