Reputation: 147
I have a Pandas dataframe (df) like this.
Color 20-05-2020 21-05-2020 22-05-2020 23-05-2020
Yellow 10 20 30 40
Red 15 25 35 45
Blue 23 34 45 56
When I transposed using df.T
, I got like this.
Color Yellow Red Blue
20-05-2020 10 15 23
21-05-2020 20 25 34
22-05-2020 30 35 45
23-05-2020 40 45 56
When I checked df.index
, I found,
Index(['Color', '20-05-2020', '21-05-2020', '22-05-2020', '23-05-2020'], dtype='object', length=...)
How do I remove "Color" from index? Also I want to name the index as "Date". How do I do that?
Thanks.
Upvotes: 0
Views: 101
Reputation: 15872
Use df.index.name
:
>>> df
20-05-2020 21-05-2020 22-05-2020 23-05-2020
Color
Yellow 10 20 30 40
Red 15 25 35 45
Blue 23 34 45 56
>>> df = df.T
>>> df.columns.name = ''
>>> df.index.name = 'Date'
>>> df
Yellow Red Blue
Date
20-05-2020 10 15 23
21-05-2020 20 25 34
22-05-2020 30 35 45
23-05-2020 40 45 56
Or,
>>> df = pd.DataFrame(df.values.T,
index=df.columns.rename('Date'),
columns=df.index.rename(''))
>>> df
Yellow Red Blue
Date
20-05-2020 10 15 23
21-05-2020 20 25 34
22-05-2020 30 35 45
23-05-2020 40 45 56
Or you can use df.reindex
:
>>> df.reindex(df.index.rename('')).T.reindex(df.columns.rename('Date'))
Yellow Red Blue
Date
20-05-2020 10 15 23
21-05-2020 20 25 34
22-05-2020 30 35 45
23-05-2020 40 45 56
Depending on your preference, you can either set df.columns.name='Date'
or df.index.name='Date'
.
Upvotes: 3