数据框转置和索引

时间:2020-07-31 11:22:55

标签: python python-3.x pandas dataframe indexing

我有一个这样的Pandas数据框(df)。

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

当我使用df.T换位时,我就这样。

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

当我选中df.index时,我发现了

Index(['Color', '20-05-2020', '21-05-2020', '22-05-2020', '23-05-2020'], dtype='object', length=...)

如何从索引中删除“颜色”?我也想将索引命名为“ Date”。我该怎么办?

谢谢。

1 个答案:

答案 0 :(得分:3)

使用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

或者,

>>> 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

或者您可以使用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

根据您的喜好,您可以设置df.columns.name='Date'df.index.name='Date'