python - 如何将循环时间序列熊猫数据框转换为熊猫多索引数据框
问题描述
是否有一个 pandas 函数可以将下面表示的数据帧转换为多索引时间序列数据帧?
ticker date lastupdated ev evebit evebitda marketcap pb pe ps
None
0 XOM 2018-12-31 2018-12-31 323071.3 12.3 7.1 288703.3 1.5 12.4 1.1
1 XOM 2018-12-28 2018-12-28 322986.6 12.3 7.1 288618.6 1.5 12.4 1.1
2 XOM 2018-12-27 2018-12-27 326246.7 12.5 7.1 291878.7 1.5 12.6 1.1
3 XOM 2018-12-26 2018-12-26 324976.5 12.4 7.1 290608.5 1.5 12.5 1.1
4 XOM 2018-12-24 2018-12-24 311724.7 11.9 6.8 277356.7 1.5 11.9 1.0
5 AAPL 2018-12-31 2018-10-21 1137146.7 16.2 14.0 1054517.7 9.2 18.8 4.1
6 AAPL 2018-12-28 2018-10-21 1151491.6 16.4 14.2 1068862.6 9.3 19.0 4.2
7 AAPL 2018-12-27 2018-10-21 1160185.5 16.5 14.3 1077556.5 9.4 19.2 4.2
8 AAPL 2018-12-26 2018-10-21 1178394.3 16.7 14.5 1095765.3 9.5 19.5 4.3
9 AAPL 2018-12-24 2018-10-21 1185590.9 16.8 14.6 1102961.9 9.6 19.7 4.3
获得以下具有重组日期的数据框:
lastupdated ev evebit evebitda marketcap pb pe ps
date ticker
2018-12-31 XOM 2018-12-31 323071.3 12.3 7.1 288703.3 1.5 12.4 1.1
AAPL 2018-12-31 322986.6 12.3 7.1 288618.6 1.5 12.4 1.1
2018-12-28 XOM 2018-12-28 326246.7 12.5 7.1 291878.7 1.5 12.6 1.1
AAPL 2018-12-28 324976.5 12.4 7.1 290608.5 1.5 12.5 1.1
2018-12-27 XOM 2018-12-27 311724.7 11.9 6.8 277356.7 1.5 11.9 1.0
AAPL 2018-10-27 1137146.7 16.2 14.0 1054517.7 9.2 18.8 4.1
2018-12-26 XOM 2018-10-26 1151491.6 16.4 14.2 1068862.6 9.3 19.0 4.2
AAPL 2018-10-26 1160185.5 16.5 14.3 1077556.5 9.4 19.2 4.2
2018-12-24 XOM 2018-10-24 1178394.3 16.7 14.5 1095765.3 9.5 19.5 4.3
AAPL 2018-10-24 1185590.9 16.8 14.6 1102961.9 9.6 19.7 4.3
解决方案
DataFrame.set_index
与 一起使用DataFrame.sort_index
:
df1 = df.set_index(['date', 'ticker']).sort_index(level=[0,1], ascending=[True, False])
推荐阅读
- php - PHP:无法使用管理员帐户登录
- wordpress - 这个链接是从哪里生成的?我想将此链接重定向到博客主页
- python - 在 Python 中使用 Firebase-Admin 解压 AuthError(例如 Dict)
- java - 在 docker 文件中下载打开的 java sdk
- ios - 谷歌登录 iOS 与服务器
- pyspark - Databricks PySpark Job 不断被取消
- elasticsearch - 将特定的 CPU 资源分配给 pod - kubernetes.io/limit-ranger: 'LimitRanger 插件集:容器弹性搜索的 cpu 请求'
- mp4 - 使用 H264 数据编码 fmp4 文件时如何填充 avcC 框?
- python-3.x - 如何在 python/pyglet 中正确使用 gluUnProject?
- javascript - 如何使用 JavaScript 检索对象属性值?