python - 数据帧转置和索引
问题描述
我有一个像这样的 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=...)
如何从索引中删除“颜色”?我还想将索引命名为“日期”。我怎么做?
谢谢。
解决方案
>>> 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'
。
推荐阅读
- typescript - 如何删除角度5中的选定或所有复选框
- xamarin.forms - 我可以通过非 http(s) URL 启动我的跨平台应用程序吗?
- java - JFileChooser Buttons CustomisationsGradient Paint for OptionPane
- unix - awk 更改 shell 变量
- ssis - 无法在 SSIS 2017 中的 excel 连接管理器上使用表达式
- php - mysqli插入查询返回false
- html - Panda to CSV 所有数据都没有被写入
- sql - 使用 VBA 和 SQL,我可以在查询中引用 excel 列标题吗?
- javascript - 如何执行在 JSDOM 中动态创建的另一个脚本节点?
- c# - BeginSend 不立即返回