gpt4 book ai didi

python - Pandas 使用列表添加单元格背景颜色并保存到excel

转载 作者:行者123 更新时间:2023-12-04 22:22:40 30 4
gpt4 key购买 nike

我有如下数据框。
enter image description here

我想按条件更改背景颜色,最后我想保存到excel。
有以下几种情况:

  • 条件 1:完全匹配 & 区分大小写=False --> 红色
  • 条件 2:包含 & 区分大小写=False --> 黄色
  • 条件 3:重复相同字符 3 个以上 --> 蓝色
  • list_for_condition1 = [我们,加利福尼亚]
  • list_for_condition1 = [苹果,山姆]
  • list_for_condition3 = [xxx, xxxx, xxxxxxxxxxx, bbb, aaa]

  • 这是预期的输出。
    enter image description here

    我使用 stype.applymap 找到了下面的代码,但无法应用这种情况。
    styled = (df.style.applymap(lambda v: 'background-color: %s' % 'green' if v=='col' else ''))
    styled.to_excel('d:/temp/styled.xlsx', engine='openpyxl')

    我该如何解决这个问题?

    最佳答案

    我会定义一个单独的函数来反射(reflect)您的条件和 applymap :

    def colorize(x):
    try:
    lower = x.lower()
    # condition 1, pass the corresponding list
    if lower in ['us','ca']: return 'background-color: red'

    # condition 2
    for s in ['apple', 'sam']:
    if s in lower: return 'background-color: yellow'

    # condition 3
    for s in ['xxx','bbb', 'aaa']:
    if s in lower: return 'background-color: blue'

    return ''
    except:
    return ''

    # toy data
    df = pd.DataFrame({'Country':['USA','us','usa','ca', 'CA'],
    'V1':["Apple", "Applex", 'APPLE', 'SAMSUNG','xxx'],
    'V2':['Samsung', 'Semsung', 'SamSung1', 'apple', 'bbbb'],
    'V3':['SAMSUNG', 'SS','APPLEXX', 'APPLEs', 'aaa']
    })

    df.style.applymap(colorize)

    输出:

    enter image description here

    关于python - Pandas 使用列表添加单元格背景颜色并保存到excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61052588/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com