找到解决方法后,我不在这里寻找解决方案;大多数情况下,我只是想了解为什么原来的方法不起作用,而周围的方法却起作用了。
我有一个带有默认数字键的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