df.column.any() < 1 在没有单个值小于 1 时给出 True python 熊猫



我在运行查询以查看特定列中的任何值是否小于 1 时,从我的熊猫数据帧中得到了一个非常奇怪的布尔结果。我的df看起来像marketcap列和assets列:

marketcap       assets
0   11730364.0   36675000.0
1   12288758.0   36838000.0
2   13033591.0   37314000.0
3   16235899.0   39775000.0
4   14888920.0   40114000.0
5   14237392.0   38979000.0
6   13474342.0   38166000.0
7   12562067.0   45970000.0
8   13896045.0   45619000.0
9   15347038.0   46759000.0
10  14044865.0   46744000.0
11  14361107.0   49749000.0
12  14317742.0   49425000.0
13  17608963.0   49592000.0
14  19412627.0   49624000.0
15  26690171.0   51732000.0
16  27470803.0   53220000.0
17  27674325.0   52500000.0
18  37433151.0   53103000.0
19  53900763.0   53811000.0
20  58714659.0   54113000.0
21  47562777.0   55545000.0
22  51949184.0   54622000.0
23  40667196.0   56321000.0
24  35314293.0   56854000.0
25  39607768.0   56221000.0
26  44291558.0   56401000.0
27  45258054.0   59492000.0
28  45072190.0   60893000.0
29  56131139.0   60376000.0
30  45072190.0   60509000.0
31  43852174.0   67544000.0
32  44607528.0   67333000.0
33  51205725.0   66435000.0
34  52042116.0   67265000.0
35  48083198.0   70056000.0
36  43083437.0   68674000.0
37  42748881.0   67977000.0
38  39496249.0   68755000.0
39  41985349.0  102904000.0

显然,对于以下代码,列marketcap中的所有值都远高于 1:

df.marketcap.any() <= 1

它的结果是True.有人可以向我解释一下,因为我不明白为什么这是真的,它认为小于 1。

谢谢

为什么这是真的,它认为小于1。

您正在执行:

df.marketcap.any() <= 1

df.marketcap.any()的评估结果确实True因为市值中有一个或多个非零元素,因此比较是

True <= 1

TrueFalse用于算术时,它确实True,它确实与分别使用10具有相同的效果。请注意,它们的用法不仅限于比较 - 例如,您可以执行True+True+True,并且会得到3

最新更新