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