【问题标题】:Python Dataframe color using dictionary in cellPython Dataframe颜色在单元格中使用字典
【发布时间】:2018-07-16 09:48:52
【问题描述】:

我有一本看起来像这样的字典:

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

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

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

正确地将{'value':...,'color':...} subdicts 放入相应的单元格中。

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

改变颜色:

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

更改文本:

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

不过,如果我更改值,我将无法再获得颜色,如果我更改颜色,我现在有一个 Styler 对象,但我不知道如何修改该对象中单元格的值。

我对 Python 有点陌生,所以我想必须有一个简单的解决方案来解决这个问题,但我不知道。能否请您给出最“优雅”的解决方案?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

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

    1. 将我的密钥放入数组中

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

    这给出了以下代码:

    keys = ['NAME1', 'NAME2', ...]
    df = pd.DataFrame.from_dict({key: <whatever> for key in keys})
    df = df.style.applymap(lambda val: val['color'])
    df = df.format({key: lambda val: val['value'] for key in keyes})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 2011-10-29
      • 2013-01-13
      • 2019-07-26
      • 1970-01-01
      相关资源
      最近更新 更多