我在csv中有一个数据集,并有一个由分类器创建的字典。必须将键值替换为键(这里是example)。一开始我尝试通过这样的代码来实现
for key, value in xxx.items():
lime_df.replace(value, key, inplace = True)
,但是替换拖了几天。现在,我使用以下代码:
lime_df.replace(mapping,inplace = True)
但是我得到一个错误:
TypeError:无法比较类型'ndarray(dtype = object)'和'str'
这是字典的样子:
{-5.486750964678322e-08: '2', 1.187718366754473e-17: '3', -7.059511863971579e-10: '10',
-3.0349327687745536e+16: '18', -8.017016298890468e-18: '15', 107.15808868408203: '1',
-8.300757059487296e-08: '5', -2.1828310439085026e+32: '13', -1.3752891451707128e+38: '8',
5.882867218031023e-22: '14', -1.0941715971078361e+23: '17', -8.360684200807262e-18: '11',
-1.0765597196911002e+36: '4', -1.5831559552949374e+38: '7', -1.5324417530020214e-27: '9', }
表中的所有值都是分类的,因此对于我使用的分类器
lime_df.astype(str)
如果您呼叫lime_df.dtypes
,他会写为所有列都是object类型。
帮助纠正错误并解决问题!