熊猫无法散列的类型:“ numpy.ndarray”与熊猫groupby

伽利略

我可能会遇到熊猫DataFrame的基本问题。在下面的代码片段中,我插入了一个计算列'CAPACITY_CHECK',然后尝试根据该列对数据进行分组。但是我一直遇到以下错误:TypeError:不可哈希类型:'numpy.ndarray'

TEMP['CAPACITY_CHECK'] = TEMP[['ADD_CAPACITY_ST', 'CAPACITY_ST', 'VOLUME_PER_SUPPLIER']].apply(lambda X: numpy.where(X[0]+X[1]<X[2],'Non OK', 'OK'), axis=1)
TEMP.groupby('CAPACITY_CHECK')['ID'].count()

由于我没有尝试修改任何不可变的对象,并且新列的类型为“系列”,所以我不明白为什么会出现错误。

提前致谢

耶斯列尔

我认为您需要删除apply并仅使用numpy.where

mask = (TEMP['ADD_CAPACITY_ST'] + TEMP['CAPACITY_ST']) < TEMP['VOLUME_PER_SUPPLIER']
TEMP['CAPACITY_CHECK'] = numpy.where(mask,'Non OK', 'OK')

样品

TEMP = pd.DataFrame({'ADD_CAPACITY_ST':[10,20,30],
                     'CAPACITY_ST':[10,20,30],
                     'VOLUME_PER_SUPPLIER':[40,20,100]})

mask = (TEMP['ADD_CAPACITY_ST'] + TEMP['CAPACITY_ST']) < TEMP['VOLUME_PER_SUPPLIER']
TEMP['CAPACITY_CHECK'] = numpy.where(mask,'Non OK', 'OK')
print (TEMP)
   ADD_CAPACITY_ST  CAPACITY_ST  VOLUME_PER_SUPPLIER CAPACITY_CHECK
0               10           10                   40         Non OK
1               20           20                   20             OK
2               30           30                  100         Non OK              

然后使用GroupBy.sizeGroupBy.count

TEMP.groupby('CAPACITY_CHECK')['ID'].size()

TEMP.groupby('CAPACITY_CHECK')['ID'].count()

数量和大小之间的差异

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

熊猫groupby抛出:TypeError:无法散列的类型:'numpy.ndarray'

无法删除TypeError:无法散列的类型:“ numpy.ndarray”

tensorflow TypeError:无法散列的类型:'numpy.ndarray'

eval抛出“ TypeError:无法散列的类型:'numpy.ndarray'”

TypeError:无法散列的类型:'numpy.ndarray'

在python中TypeError:无法散列的类型:'numpy.ndarray'

熊猫:TypeError:无法散列的类型:“列表”

熊猫列的列表理解结果:无法散列的类型:“ dict”

TypeError:无法散列的类型:'numpy.ndarray'-如何在执行query()时解决此错误

df ['X']。unique()和TypeError:无法散列的类型:'numpy.ndarray'

Python 3.x-TypeError:无法散列的类型:'numpy.ndarray'

numpy ndarray到熊猫数据框

熊猫多索引DataFrame到Numpy Ndarray

Tensorflow 错误“不可散列的类型:'numpy.ndarray'”

不可散列的类型:用于优化的“ numpy.ndarray”

TypeError:不可散列的类型:Python中的“ numpy.ndarray”

Torch/numpy:groupby 熊猫替代品

将Numpy ndarray附加到熊猫数据框

将熊猫嵌套系列转换为Numpy ndarray

将熊猫数据帧转换为numpy ndarray

numpy.ndarray'对象不可调用-使用熊猫

无法散列的类型:将modin与熊猫一起使用时的系列?

熊猫合并错误“无法散列的类型:dict”的解决方法

类型错误:不可散列类型:'numpy.ndarray' 和 plt.scatter()

如何解决不可散列类型的问题:“ numpy.ndarray”

TypeError:数据透视表上不可散列的numpy.ndarray类型

将日期时间转换为日期 python --> 错误:不可散列类型:'numpy.ndarray'

TypeError:不可散列的类型:'numpy.ndarray',计数器行

熊猫数据框中的不可散列类型错误