我正在尝试使用pandas来获取value_counts . 发出命令时:
my_variable.value_counts().keys()
我得到以下输出:
指数([1.0,0.0,1.00999999046,2.0,2.00999999046,3.0,1.01002222888,3.00999999046,4.00999999046,4.0,6.00999999046,5.00999999046,8.00999999046,20010022888,5.0,0.0000000009537,9.00999999046,6.0,7.0,12.0099999905,7.00999999046,10.0099999905,300100228888, 19.0199999809,11.0099999905,20.0199999809,8.0,14.0199999809,4.011000022888,5.001000022888,38.0399999619,46.0499999523,40.0399999619,20.0299999714,16.0199999809,18.0299999714,9.01999998093,11.0199999809,21.0199999809,-10651.4099998,-4643.13999987,-6388.92000008,-5779.98000002],dtype = object)
问题是,如何访问由浮点值组成的键,例如键1.00999999046?
我可以使用以下方法访问索引1.0:
my_variable.value_counts()[1]
但是,如果我尝试
my_variable.value_counts()[1.00999999046]
然后我收到一个错误说明:
KeyError:1.00999999046
我认为它可能与dytpe =索引的对象有关,但我不知道该怎么做才能解释这一点 . 任何指导将不胜感激 .
1 回答
这在> = 0.13时工作得很好 . 在0.13浮点数之前,指数并不特别 . 他们现在有逻辑来避免将索引器舍入/截断为整数 . 在其他工作中,值被查找,而不是被强制(对于Float64Index) . 事实上,这是这种类型索引的重点,使用
[],ix,loc
制作统一的索引模型,返回相同的精确结果 .见the docs
请注意,索引的显示是值的截断视图(它们完全存在,这里不打印超出2个位置)