Python Pandas DataFrame重新索引0

时间:2018-08-14 05:51:11

标签: python-3.x pandas dataframe

我的代码如下:我从原始数据框中提取了一部分数据。我希望newdata框架的索引从0开始。奇怪的是,它带有旧索引。我尝试了reset_index(),但是没有用。有输入吗?

a = [10,20,30,40,50,60]
a = pd.DataFrame(a,columns=['Data'])
print(a)
b = pd.DataFrame(a['Data'][3:5])
print(b)
b.reset_index()
print(b)

输出为:

      Data
0    10
1    20
2    30
3    40
4    50
5    60
   Data
3    40
4    50
   Data
3    40
4    50

我期望b数据帧的索引为:

Data
0    40
1    50

我按照jezrael的建议尝试了以下代码,这是我可接受的答案,并且非常有效:

b.reset_index(inplace=True,drop=True)
print (b)

新的输出是:

    Data
0    40
1    50

但是,我不需要索引列。

1 个答案:

答案 0 :(得分:3)

您忘记分配回来并添加drop=True参数以删除原始index

b = b.reset_index(drop=True)
print(b)
   Data
0    40
1    50

或使用:

b.reset_index(inplace=True, drop=True)
print(b)
   Data
0    40
1    50

如果不使用drop=True,则使用原始索引值创建新列:

b = b.reset_index()
print(b)
   index  Data
0      3    40
1      4    50