Skip to content Skip to sidebar Skip to footer

Pandas DataFrame Add Column To Index Without Resetting

how do I add 'd' to the index below without having to reset it first? from pandas import DataFrame df = DataFrame( {'a': range(6), 'b': range(6), 'c': range(6)} ) df.set_index(['a'

Solution 1:

We added an append option to set_index. Try that.

The command is:

df.set_index(['d'], append=True)

(we don't need to specify ['a', 'b'], as they already are in the index and we're appending to them)


Solution 2:

Your code is not valid, reset_index has no inplace argument in my version of pandas (0.8.1). The following achieves what you want but there's probably a more elegant way, but you've not provided enough information as to why you are avoiding the reset_index.

df2.index = MultiIndex.from_tuples([(x,y,df2['d'].values[i]) for i,(x,y) in enumerate(df2.index.values)])

HTH


Post a Comment for "Pandas DataFrame Add Column To Index Without Resetting"