在单元格中使用字典的Python Dataframe颜色

时间:2018-07-16 09:48:53

标签: python pandas

我有一本类似的字典:

{'NAME1': [{'value':'plop','color':'#444444'},{'value':'plop2','color':'#444445'}, ...], "NAME2": [...], ...}

我以此方式创建了一个数据框:

df = pd.DataFrame.from_dict(<my dictionary>)

{'value':...,'color':...}下标正确地放置在其对应的单元格中。

然后,我想使用存储在列中的值为它们着色,并在单元格中显示它们的值。进行这些操作都很容易:

更改颜色:

df = df.style.applymap(lambda val: val['color'])

更改文字:

df = df.applymap(lambda val: val['value'])

仍然,如果更改值,我将无法再获得颜色;如果更改颜色,我现在将拥有一个Styler对象,并且我不知道如何修改该单元格的值。

我在某种程度上是Python的新手,所以我想必须有一个简单的解决方案来解决这个问题,但是我不知道。您能提供最“优雅”的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我分两步解决了这个问题:

  1. 将密钥放入数组

  2. 设置颜色后使用Styler中的格式方法

这给出了以下代码:

static void Main(string[] args)
{
    string[] book = new string[12];
    book[0] = "George Orwell###Animal Farm###Novel###";
    string value = book[0];
    string[] item = Regex.Split(value, "###");

    foreach (string newItem in item)
    {
        Console.WriteLine(newItem);
    }
    // prints out just fine

    // George Orwell
    // Animal Farm
    // Novel
    Console.ReadKey();
}