mode imputation by groups in pandas (handling group modes that are NaN)(在 pandas 中按组分配模式(处理NaN的组模式))
本文介绍了在 pandas 中按组分配模式(处理NaN的组模式)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个分类列&WALLSMATERIAL_MODE&QOOT;其中包含NAN,我希望通过以下组[‘NAME_RECOVICATION_TYPE’,‘AGE_GROUP’]将其归因于NAN:
可再生性代码
我尝试从这个post改编以下函数,该函数适用于中位数推算并处理非中位数的组中值
输入:
out:调用pd.isull时引发以下错误
我不明白,我已尝试在所有组模式上应用pd.isull,但没有引发此错误。请参阅下面的群组模式
输入:
输出:
如果有人能指出错误在哪里,或者是否有有效的方法对本专栏进行分组归罪,我将不胜感激!
推荐答案
下面的代码似乎使用了Try Except来完成此操作。我宁愿避免使用Try,除非我想不出一种更干净的方法。
正如@Ben.T指出的那样,我必须使用.iloc[0]
和.mode()
但是当.mode().iloc[0]
有一个空数组作为输入时,我得到IndexError: single positional indexer is out-of-bounds
。
错误回溯:
- 模式()在一行的子组上被调用,值=NaN。.mode()返回单个NaN的这个子组的空数组
- 对传递的空数组调用pd.isull并返回空数组
- 对空数组调用.iloc[0]会引发索引错误
这篇关于在 pandas 中按组分配模式(处理NaN的组模式)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!