is_max = s == s.max()|我该怎么看?

时间:2016-10-12 11:22:54

标签: python python-2.7 pandas

在研究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()

5 个答案:

答案 0 :(得分:2)

s == s.max()将计算为布尔值(由于变量之间的==)。下一步是将该值存储在is_max

答案 1 :(得分:2)

代码

is_max = s == s.max()

评估为

is_max = (s == s.max())

首先评估括号中的位,即TrueFalse。结果已分配给is_max

答案 2 :(得分:2)

在pandas中s通常是SeriesDataFrame中的列)。

因此,您将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的变量。

另请参阅:Assignment statements