给定一系列s
:
Name
0 Tennessee Oilers
1 Tennessee Titans
2 Washington Redskins
我想要一个应用函数来重命名值。在
^{pr2}$这引发了:
TypeError: ("'Series' objects are mutable, thus they cannot be hashed", u'occurred at index 0')
如果我把这个应用到DataFrame的列上,这个方法就可以工作了。在
我以为我是按照docs做的,你能纠正我吗?在
使用^{} 执行查找:
s = s.apply(lambda x: translate.get(x, x))
失败的原因是这里的lambda是一个pandaSeries
,并且不能将其用作给定错误原因的键查找值,因为它不能散列dict键必须是哪个。在编辑
事实上我不能重现你的错误:
^{pr2}$上面的方法很好
编辑1
要保留不存在的值,可以调用^{} 和^{} :
当您使用
read_csv
读取csv时,它返回一个df,即使它只有一个列,如果您想要一个序列,那么传递paramsqueeze=True
:编辑2
发生错误是因为您对单列df调用了apply:
因此,这与
apply
迭代每个可以散列的值的序列不同,但是这里它传递的是不能散列的整个Series
,如果你这样做的话,它就可以工作了:传递
axis=1
执行按行的值传递相关问题 更多 >
编程相关推荐