python str index函数_python – DataFrame.set_index返回’str’对象不可调用

我找不到解决方法,我不是在寻找解决方案;大多数情况下,我只是想了解为什么我的原始方法不起作用,因为周围的工作确实如此.

我有一个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笔记本,重新启动它并运行此块只能解决此问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值