小编dbo*_*ger的帖子

DataFrame.set_index返回'str'对象不可调用

找到解决方法后,我不在这里寻找解决方案;大多数情况下,我只是想了解为什么原来的方法不起作用,而周围的方法却起作用了。

我有一个带有默认数字键的2803行的数据框。我想将其替换为列0中的值,即TKR。

所以我使用f.set_index('TKR')并得到

f.set_index('TKR')

Traceback (most recent call last):

  File "<ipython-input-4-39232ca70c3d>", line 1, in <module>
    f.set_index('TKR')

TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

因此,我认为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')

该方法有效,并将在下个月处理其他大小的数据框。我只想了解为什么这样做有效,而按book方法进行的原始,简单和(我认为)无效。

我在Windows 10机器上使用Python 3.6(64位)和Pandas 0.18.1

python pandas

6
推荐指数
2
解决办法
737
查看次数

标签 统计

pandas ×1

python ×1