微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

熊猫比较引发TypeError:无法将dtyped [float64]数组与类型为[bool]的标量进行比较

如何解决熊猫比较引发TypeError:无法将dtyped [float64]数组与类型为[bool]的标量进行比较

&的优先级高于==。写:

my_df.ix[(my_df.CHUNK_NAME==chunks[0])&(my_df.LAMBDA==lam_beta[0][0])]
         ^                           ^ ^                            ^

解决方法

我的dataFrame具有以下结构:

Index: 1008 entries,Trial1.0 to Trial3.84
Data columns (total 5 columns):
CHUNK_NAME                    1008  non-null values
LAMBDA                        1008  non-null values
BETA                          1008  non-null values
HIT_RATE                      1008  non-null values
AVERAGE_RECIPROCAL_HITRATE    1008  non-null values

chunks=['300_321','322_343','344_365','366_387','388_408','366_408','344_408','322_408','300_408']
lam_beta=[(lambda1,beta1),(lambda1,beta2),beta3),...(lambda1,beta_n),(lambda2,beta2)...(lambda2,........]

my_df.ix[my_df.CHUNK_NAME==chunks[0]&my_df.LAMBDA==lam_beta[0][0]]

我想获取特定块的数据帧的行,可以说chunks [0]和特定的lambda值。因此,在这种情况下,输出应为数据帧中具有CHUNK_NAME
=‘300_321’和LAMBDA = lambda1的所有行。每个返回的Beta值将有n行。但是相反,我得到了以下错误。解决该问题的任何帮助将不胜感激。

TypeError: cannot compare a dtyped [float64] array with a scalar of type [bool]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。