Python df.column.any()<;1当没有一个值小于1时为真

Python df.column.any()<;1当没有一个值小于1时为真,python,pandas,Python,Pandas,在运行查询以查看特定列中的值是否小于1时,我从pandas数据帧中得到了一个非常奇怪的布尔结果。Mydf与列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 1423

在运行查询以查看特定列中的值是否小于1时,我从pandas数据帧中得到了一个非常奇怪的布尔结果。My
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
df.marketcap.any()为什么这是真的,并且它认为小于1

你正在做:

df.marketcap.any() <= 1
在python中,当将
True
False
用于算术时,它确实保持
True
,这与分别使用
1
0
的效果相同。请注意,它们的用法不限于比较-例如,您可以执行
True+True+True
,您将得到
3

True <= 1