python - df.column.any() < 1 当没有一个值小于 1 时给出 True
问题描述
在运行查询以查看特定列中的任何值是否小于 1 时,我从我的 pandas Dataframe 中得到一个非常奇怪的布尔结果。我的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
. 有人可以向我解释一下,因为我不明白为什么这是 True 以及它认为小于 1 的原因。
谢谢
解决方案
为什么这是 True 并且它认为小于 1。
你正在做:
df.marketcap.any() <= 1
df.marketcap.any()
确实评估为,True
因为您在市值中有一个或多个非零元素,所以比较是
True <= 1
当和用于算术时,它确实True
像在 python中一样成立,它确实与分别使用and具有相同的效果。请注意,它们的用法不仅限于比较 - 例如,您可以这样做并且您将得到.True
False
1
0
True+True+True
3
推荐阅读
- angular - Angular - routerLink 和状态的问题
- mysql - 存储用户多个爱好的关系型数据库结构
- ios - 在swift 5中将字节转换为unicode文本
- php - Retrieving eloquent api resource using keyby collection method
- angular - Phaser 3 Phaser.GameObjects.Sprite body not found
- java - compileOptions set to JavaVersion 1.8 cause gradle to fail sync
- matplotlib - 在 Julia 中绘图:缺乏广泛且容易理解的文档?
- acumatica - 从父帐户更新客户子项
- c# - 如何使用 ConfigurationManager 将连接字符串值从 Unity3d 传递到类库
- sql - Rails 关联 SQL