我有一个简单的Pandas Dataframe:
data.head(5)
> Date Time Open High Low Close Vol OI
> 0 02/02/1993 16:00 44.23 44.38 44.13 44.34 201300 0
> 1 02/03/1993 16:00 44.41 44.84 44.38 44.82 529400 0
> 2 02/04/1993 16:00 44.97 45.10 44.88 45.00 531500 0
> 3 02/05/1993 16:00 44.97 45.06 44.73 44.97 492100 0
> 4 02/08/1993 16:00 44.97 45.13 44.92 44.98 596100 0
我想将列“日期”设置为索引:
data.set_index('Date')
但是得到错误“TypeError:'list'对象不可调用”
TypeError Traceback (most recent call last)
<ipython-input-59-a610da45b82c> in <module>()
----> 1 data.set_index('Date')
TypeError: 'list' object is not callable
当前数据中的索引为RangeIndex:
data.index
RangeIndex(start=0, stop=5873, step=1)
为什么我不能使用日期列设置索引?
谢谢大家。
4条答案
按热度按时间s1ag04yj1#
我遇到了同样的问题,我尝试了其他答案的解决方案,但它们对我不起作用。(重新索引,设置in-place=true,或分配给另一个变量)
我使用的是jupyter-lab,对我来说,真正有效的方法是从内核重启所有变量。也许如果你也使用notebook,这也会为你解决这个问题。
如果我不得不猜测,我的索引在我的尝试中不知何故被破坏了,这就是为什么重置内核修复了它,对你来说可能是一样的。
把它放在这里供将来参考,希望对你有帮助。
dgtucam12#
我得到了同样的问题“TypeError:在使用set_index命令时,“list”对象不可调用。我通过首先调用“reindex()”方法然后使用set_index得到了解决方案。希望它对你有用。Aamir
xdnvmnnf3#
我认为你必须将参数
inplace=True
添加到set_index
:另一个解决方案是:
样品:
如果需要在
read_csv
中设置索引并转换为日期时间(如果分隔符是,
,则可以省略它,因为默认情况下是sep=','
):2ekbmq324#
检查你是否在代码中使用了
.to_list()
方法,我使用了相同的方法,并且一次又一次地出错。所以请确保在它之前使用set_index
方法。