我需要对两列数据分箱,并且分别根据分箱结果赋值,再把赋值后的结果相加
我用qcut对2列数据进行分箱,分成5组,分别赋值0-4
A01['A'], cut_bin = pd.qcut(A01['RDS'],q=5,labels=['0','1','2','3','4'],retbins = True)
A01['B'], cut_bin = pd.qcut(A01['SEINS'],q=5,labels=['0','1','2','3','4'],retbins = True)
A01['C']=A01.A+A01.B
Traceback (most recent call last):
File "C:\Users\ASUS\PycharmProjects\A01-2021-Strategy\main.py", line 19, in <module>
A01['STRA']=A01.RDSV+A01.SEINSV+A01.GROWSV
File "D:\Anaconda\lib\site-packages\pandas\core\ops\common.py", line 69, in new_method
return method(self, other)
File "D:\Anaconda\lib\site-packages\pandas\core\arraylike.py", line 92, in __add__
return self._arith_method(other, operator.add)
File "D:\Anaconda\lib\site-packages\pandas\core\series.py", line 5526, in _arith_method
result = ops.arithmetic_op(lvalues, rvalues, op)
File "D:\Anaconda\lib\site-packages\pandas\core\ops\array_ops.py", line 218, in arithmetic_op
res_values = op(left, right)
TypeError: unsupported operand type(s) for +: 'Categorical' and 'Categorical'
进程已结束,退出代码1
我想把A和B的值相加,但是程序报错提示Categorical类型不能相加,怎么处理呢?
请问可以把categorical转成成可以运算的类型吗?
你最后一行做一下类型转换:
A01['C']=A01['A'].astype(str)+A01['B'].astype(str)