Replacing a specific Dataframe index value

I am trying to change a specific index value for a dataframe. The data block looks like this:

    start   stop    nested_in
0   2015-11-10 05:42:00+00:00   2015-11-10 07:22:00+00:00   -1.0
0   2015-11-10 05:42:00+00:00   2015-11-10 06:09:00+00:00   0.0
0   2015-11-10 06:21:00+00:00   2015-11-10 06:37:00+00:00   0.0
0   2015-11-10 06:42:00+00:00   2015-11-10 06:58:00+00:00   0.0
0   2015-11-10 17:00:00+00:00   2015-11-10 21:55:00+00:00   -1.0
0   2015-11-10 17:00:00+00:00   2015-11-10 17:45:00+00:00   4.0
0   2015-11-10 17:45:00+00:00   2015-11-10 18:01:00+00:00   4.0

      

With index 0.

I want to do something like this:

for i in range(0, df.size):
   df.index[i] = i

      

But it gives me the following error

TypeError: Index does not support mutable operations

      

All I can do is this:

df.index = [i1, i2,... , i(df.size-1)]

      

So for this example:

df.index = [0,1,2,3,4,5,6]

      

The output I want is this:

    start   stop    nested_in
0   2015-11-10 05:42:00+00:00   2015-11-10 07:22:00+00:00   -1.0
1   2015-11-10 05:42:00+00:00   2015-11-10 06:09:00+00:00   0.0
2   2015-11-10 06:21:00+00:00   2015-11-10 06:37:00+00:00   0.0
3   2015-11-10 06:42:00+00:00   2015-11-10 06:58:00+00:00   0.0
4   2015-11-10 17:00:00+00:00   2015-11-10 21:55:00+00:00   -1.0
5   2015-11-10 17:00:00+00:00   2015-11-10 17:45:00+00:00   4.0
6   2015-11-10 17:45:00+00:00   2015-11-10 18:01:00+00:00   4.0

      

I've done some research but couldn't find a simple solution.

+3


source to share


2 answers


You can go with:



df.reset_index(drop=True, inplace=True)

      

+2


source


Try it -



indices = range(df.shape[0]) # this can be anything as long as the length is same as that of the number of rows in the dataframe
df['indices'] = indices
df = df.set_index('indices')

print df.head()

      

0


source







All Articles