我不确定我在哪里误入歧途,但我似乎无法重置数据帧上的索引。
当我运行test.head()
时,我得到下面的输出:
如您所见,数据帧是一个切片,因此索引超出了范围。我想做的是重置此数据帧的索引。所以我运行测试。重置索引(drop=True)
。这将产生以下结果:
这看起来像是一个新的索引,但事实并非如此。运行测试。head
同样,索引仍然相同。试图使用lambda。apply
或iterrows()
会导致数据帧出现问题。
如何才能真正重置索引?
作为代码中veritas答案的扩展。。。不要在末尾执行del
:
test = test.reset_index()
del test['index']
您可以将drop设置为True
。
test = test.reset_index(drop=True)
布伦巴恩的答案是有效的。
以下内容也通过此线程工作,这与其说是故障排除,不如说是对如何重置索引的阐述:
test = test.reset_index(drop=True)
默认情况下,reset_index不会修改DataFrame;它返回一个带有重置索引的新DataFrame。如果要修改原始,请使用inplace
参数:df.reset_index(drop=True,inplace=True)
。或者,通过执行df=df.reset_index来分配
reset_index
的结果。
问题内容: 我创建了一个从,当我重新采样一些数据,象这样一个数:其中是: 这产生了一个看起来像这样的系列: 索引看起来像: 我不希望第二列作为索引。理想情况下,我将第1列作为“日期”,将第2列作为“销售”(删除索引的第二层)。我不太清楚如何重新配置索引。 问题答案: 只需致电: 有多种删除列的方法: 调用两次并指定一列: 重置索引后删除列: 重置后致电: 然后,在重置索引后,只需重命名列
问题内容: 我有一个数据框,我从其中删除了一些行。结果,我得到一个数据框架,其中的索引是这样的:我想将其重置为。我该怎么做? 以下似乎有效: 以下内容不起作用: 问题答案: 是您要寻找的。如果您不希望将其另存为列,请执行以下操作: 如果您不想重新分配:
我试图做为。具有和其他在中具有。这是我的代码: 我得到这个错误: 什么,我哪里做错了?
问题内容: 假设我用两列(一个DateTime)和一个(整数)创建了一个熊猫DataFrame 。现在,我想根据第一列()中的值创建一个DatetimeIndex : 一切似乎都正常,除了我打印DataFrame时,它说它具有Int64Index。 我是在做错事还是不正确理解Indeces的概念? 问题答案: 没有就位(除非您通过)。否则一切正确 同样作为参考,在即将到来的0.12版本(下周)中,
我有一个dataframe,从中删除了一些行。因此,我得到了一个dataframe,其中的索引类似于:,我希望将其重置为。我怎么做?