python - python/pandas 从开始日期+时间,创建日期时间索引
问题描述
目前我有一个如下所示的数据框:
df =
Open High Low Close TotalVolume
0 113.40 113.54 113.40 113.54 7237
1 113.54 113.58 113.52 113.57 10099
2 113.59 113.81 113.52 113.78 13827
3 113.76 113.94 113.75 113.92 16129
4 113.91 114.01 113.88 113.97 27052
5 113.97 114.11 113.92 114.01 24925
6 114.00 114.15 113.99 114.04 13461
7 114.06 114.14 113.94 113.94 10702
8 113.92 113.99 113.86 113.99 5538
9 113.96 113.96 113.85 113.86 14000
它不一定是日期时间索引,但我觉得它是最简单的。从这里我有一个遵循这种格式的变量 startDate
startDate = "03-20-2018t14:00"
从这里,这是分钟数据,要运行另一个程序,格式必须遵循这个,但这是我希望的最终结果:
updated_df =
Date Time Open High Low Close TotalVolume
03/20/2018 14:00 113.40 113.54 113.40 113.54 7237
03/20/2018 14:01 113.54 113.58 113.52 113.57 10099
03/20/2018 14:02 113.59 113.81 113.52 113.78 13827
03/20/2018 14:03 113.76 113.94 113.75 113.92 16129
03/20/2018 14:04 113.91 114.01 113.88 113.97 27052
03/20/2018 14:05 113.97 114.11 113.92 114.01 24925
03/20/2018 14:06 114.00 114.15 113.99 114.04 13461
03/20/2018 14:07 114.06 114.14 113.94 113.94 10702
03/20/2018 14:08 113.92 113.99 113.86 113.99 5538
03/20/2018 14:09 113.96 113.96 113.85 113.86 14000
解决方案
您需要将pandas.date_range()与start
,periods
和freq
参数一起使用。
df['datetime'] = pd.date_range(start='03-20-2018t14:00', periods=len(df), freq="1min")
或者,如果您希望将它们分开,您可以从以下内容中提取date
和提取:time
DatetimeIndex
datetime_col = pd.date_range(start='03-20-2018t14:00', periods=len(df), freq="1min")
df['Date'] = datetime_col.date
df['Time'] = datetime_col.time
有关详细信息,请参阅文档。
输出:
Date Time Open High Low Close TotalVolume
0 2018-03-20 14:00:00 113.40 113.54 113.40 113.54 7237
1 2018-03-20 14:01:00 113.54 113.58 113.52 113.57 10099
2 2018-03-20 14:02:00 113.59 113.81 113.52 113.78 13827
3 2018-03-20 14:03:00 113.76 113.94 113.75 113.92 16129
4 2018-03-20 14:04:00 113.91 114.01 113.88 113.97 27052
5 2018-03-20 14:05:00 113.97 114.11 113.92 114.01 24925
6 2018-03-20 14:06:00 114.00 114.15 113.99 114.04 13461
7 2018-03-20 14:07:00 114.06 114.14 113.94 113.94 10702
8 2018-03-20 14:08:00 113.92 113.99 113.86 113.99 5538
9 2018-03-20 14:09:00 113.96 113.96 113.85 113.86 14000
推荐阅读
- docker - gitlab-ci.yml & docker-in-docker (dind) & curl 在共享运行器上返回连接被拒绝
- python - 使用 Gremlin Python 驱动程序在 CosmosDB 中删除和填充大图会挂起
- java - 一个例子
,好像不行 - mongodb - 如何在 Mongoose 中使用聚合获得平均值?
- java - 如何克服 ConstraintLayout Guidelines 引起的 Aliasing 问题?
- angular - 如何在 View Angular 6 中按键访问 json 对象值
- python - 为什么这个二进制文件的大小是相等的,尽管它们不应该相等?
- excel - VBA公式R1C1公式
- c++ - 没有构造函数实例与参数列表匹配——参数类型为:
- ruby-on-rails - 如何在红宝石中获取控制器上的图像大小?