Vivek Dabholkar
Vivek Dabholkar

Reputation: 3

How to change an Index of DataFrame?

I have a DataFrame with an index column as [0, 1,2,3]. I would like to change it to ['Q1','Q2','Q3','Q4']. How do I do this? I do not want to introduce a new column but change index only.

I tried qtrs = ['Q1', 'Q2', 'Q3', 'Q4'] and df.reindex(qtrs) where df is the DataFrame.

It does not work!

Upvotes: 0

Views: 45

Answers (1)

Nick
Nick

Reputation: 147266

You could rewrite the index using a list comprehension:

df.index = [f'Q{(i%4)+1}' for i in df.index]

This might be more sophisticated than you need; it will deal with index values greater than 3. If that's not an issue, just use

df.index = [f'Q{i+1}' for i in df.index]

If your values are actually strings, not integers, you'll have to convert them:

df.index = [f'Q{(int(i)%4)+1}' for i in df.index]

Upvotes: 2

Related Questions