首页 > 解决方案 > df.column.any() < 1 当没有一个值小于 1 时给出 True

问题描述

在运行查询以查看特定列中的任何值是否小于 1 时,我从我的 pandas Dataframe 中得到一个非常奇怪的布尔结果。我的df外观与列marketcapassets

     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. 有人可以向我解释一下,因为我不明白为什么这是 True 以及它认为小于 1 的原因。

谢谢

标签: pythonpandas

解决方案


为什么这是 True 并且它认为小于 1。

你正在做:

df.marketcap.any() <= 1

df.marketcap.any()确实评估为,True因为您在市值中有一个或多个非零元素,所以比较是

True <= 1

当和用于算术时,它确实True像在 python中一样成立,它确实与分别使用and具有相同的效果。请注意,它们的用法不仅限于比较 - 例如,您可以这样做并且您将得到.TrueFalse10True+True+True3


推荐阅读