在研究Pandas Style时,我得到了以下内容:
def highlight_max(s):
'''
highlight the maximum in a Series yellow.
'''
is_max = s == s.max()
return ['background-color: yellow' if v else '' for v in is_max]
我应该如何阅读is_max = s == s.max()
?
答案 0 :(得分:2)
s == s.max()
将计算为布尔值(由于变量之间的==
)。下一步是将该值存储在is_max
。
答案 1 :(得分:2)
代码
is_max = s == s.max()
评估为
is_max = (s == s.max())
首先评估括号中的位,即True
或False
。结果已分配给is_max
。
答案 2 :(得分:2)
在pandas中s
通常是Series
(DataFrame
中的列)。
因此,您将Series
中的所有值与max
的{{1}}值进行比较,并获取布尔值掩码。输出位于Series
。然后将样式is_max
仅设置为表格的单元格,其中'background-color: yellow'
值 - 其中是最大值。
样品:
True
答案 3 :(得分:0)
is_max与s和s_max
的比较相等
答案 4 :(得分:0)
根据该文件,Evaluation order:
请注意,在评估作业时,右侧是 在左手边评估。
这是非常合理的,因为在将表达式赋值给变量之前,你必须知道它的值。
因此Python首先评估s.max()
,然后检查计算的值是否等于s
,得到一个布尔结果,然后将此布尔值赋给一个名为is_max
的变量。