我找不到解决方法,我不是在寻找解决方案;大多数情况下,我只是想了解为什么我的原始方法不起作用,因为周围的工作确实如此.
我有一个2803行的数据框和默认数字键.我想用第0列中的值替换它,即TKR.
所以我使用f.set_index(‘TKR’)得到
f.set_index( ‘TKR’)
Traceback (most recent call last):
File "", line 1, in
f.set_index('TKR')
TypeError: 'str' object is not callable
所以我想也许我的TKR专栏中有一些噪音而不是滚动2803行我尝试f.head().set_index(‘TKR’)
当这工作时,我尝试f.head(100).set_index(‘TKR’)也可以.我继续使用500,1000和1500的参数,所有参数都有效. 2800,2801,2802和2803也是如此.最后我坚持下去
f.head(LEN(F)).set_index( ‘TKR’)
它可以在下个月处理不同大小的数据帧.我只想理解为什么这个工作和原始的,更简单的,并且(我认为)书的方法没有.
我在Windows 10机器上使用Python 3.6(64位)和Pandas 0.18.1
最佳答案 我知道已经有很长一段时间了,但我认为有些人将来可能需要答案.
只要’TKR’是DataFrame f的一列,你对f.set_index(‘TKR’)的处理是完全正确的.
也就是说,这是一个你不应该拥有的错误.总是因为你在以前的步骤中重新定义了python的一些内置函数方法或函数(可能是’set_index’).因此,修复方法是检查您的代码以找出哪个部分是错误的.
如果您正在使用Jupiter笔记本,重新启动它并运行此块只能解决此问题.