我在Python中收到错误“无法比较类型'ndarray(dtype = object)'和'str'”

时间:2019-10-24 09:18:24

标签: python pandas numpy dataframe

我在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类型。

Object types screenshot

帮助纠正错误并解决问题!

0 个答案:

没有答案