为什么groupby sum不能将布尔值转换为int或float?

为什么groupby sum不能将布尔值转换为int或float?,第1张

为什么groupby sum不能将布尔值转换为int或float?

发生这种情况是因为

_cython_agg_blocks
调用试图返回与原始值
相同的dtype 结果(在本例中为)的结果
_try_coerce_and_cast_result
调用。
_try_cast_result

__
bool



当使用

Z
dtype
bool(并且所有组的True值不超过一个)时,这将返回一些特殊的信息。如果这些组中的任何一个具有2个或多个True值,则由于
_try_cast_result
未将2.0转换回布尔值,因此结果值是浮点

_try_cast_result
做更有用的东西时,
Z
有D型
int
:在内部,用Cython聚合通过使用
df.groupby(['X','Y']).sum()
一个回报
result
的D型
float
。然后,
_try_cast_result
将结果返回到dtype
int



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5646105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存