gpt4 book ai didi

python - 使用带有多个映射函数的 pandas applymap()

转载 作者:行者123 更新时间:2023-11-28 21:36:16 25 4
gpt4 key购买 nike

我正在使用 df.to_excel()将数据从 pandas 数据框输出到 Excel。为了提高可读性,我使用 df.style.applymap()根据内容更改单元格的颜色。

想象一下,我有一个如下所示的数据框:

df = 
Account Revenue AccountAge
0 "Boeing" 5000 5.6
1 "Lockheed" -10000 1.2
2 "Airbus" 12000 0.6
3 "Northrop" -3000 8.4

帐户年龄代表我在账簿上拥有该帐户的时间。也许我想将负收入单元格标记为红色。我可以:
def color_neg_revenue(val):
if val < 0:
color = 'red'
return "background-color: %s" % color

df = df.style.applymap(color_neg_revenue, subset=["Revenue"])

我可以把它导出到excel,格式看起来很棒!但是假设我也想用黄色标记新帐户,当我尝试时:
def color_new_account(val):
if val < 3:
color = 'yellow'
return "background-color: %s" % color

df = df.style.applymap(color_new_account, subset=["AccountAge"])

我得到:
AttributeError: 'Styler' object has no attribute 'style'

为什么我不能使用 applymap()在我已经使用过的数据框上 applymap()上?我怎样才能解决这个问题?

最佳答案

问题不在于功能。在您的第一次通话中,您执行:

df = df.style.applymap(color_neg_revenue, subset=["Revenue"])

所以现在 df不再是 DataFrame , 它是一个 Styler .这样的 Styler当然没有 .style属性了。因此,您最好将其分配给另一个变量,然后链接该变量。喜欢:
s = df.style.applymap(color_neg_revenue, subset=["Revenue"])

# Look mom, no I have no .style
s = s.applymap(color_new_account, subset=["AccountAge"])

因此,您可以链接这样的 applymap使用 Styler 时调用, 但是这样的样式器没有 .style属性本身。

关于python - 使用带有多个映射函数的 pandas applymap(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51272815/

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