将数据帧中的错误值(由 2 个条件证明)替换为中值.歧义错误



我知道很多人问过这个问题,有很多答案。但是这个问题有点不同,因为在这个问题中,我们有两个条件满足用中值替换值。

在我详细解释之前,我已经从kaggle中获取了这个数据集

https://www.kaggle.com/c/pubg-finish-placement-prediction/team

所以

该数据集有两个特征,"伤害造成"和"杀死"。惯例是,当我们对敌人造成伤害时,他会死亡,没有任何伤害,你不能杀死。

令人惊讶的是,PUBG API捕获了一些故障数据,这使得玩家在不对敌人造成任何伤害的情况下杀死。

a = data[data['damageDealt'] == 0.0]
b=a[a['kills'] > 0]
b['kills']

在这里,我们有 4153 行。和

b['kills'].unique()

这将返回数组 [1,2,3]

我想将"伤害已造成">

中的所有 0.0 值替换为该"伤害造成"的中值,其中击杀分别为 1、2 和 3。

而且,我不知道该怎么做。虽然,我已经写了一个代码,给了我错误。

median = data[data['kills'] == 1]['damageDealt'].median() # Finding median of 1 kills with some 
# damageDealt
np.where(data['damageDealt'] == 0.0 and data['kills'] == 1 , median ) # replaceing value where kills 
# is 1 but damageDealt is 0.0

这是我得到的错误。

值错误:序列的真值不明确。使用 a.empty、a.bool((、a.item((、a.any(( 或 a.all((。

我也写了不同的代码,但得到这个或任何其他错误。

如果我正确理解问题,这就是您要查找的内容:

data.loc[(data['damageDealt'] == 0.0)&(data['kills'] == 1),'damageDealt']=median

相关内容

  • 没有找到相关文章

最新更新