python/pandas开始日期+;时间,创建日期时间索引
目前,我有一个如下所示的数据帧:python/pandas开始日期+;时间,创建日期时间索引,python,pandas,dataframe,Python,Pandas,Dataframe,目前,我有一个如下所示的数据帧: 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
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
它不一定非得是datetime索引,但我觉得这是最简单的。从这里我有一个变量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
您需要将与开始
、时段
和频率
参数一起使用
df['datetime'] = pd.date_range(start='03-20-2018t14:00', periods=len(df), freq="1min")
或者,如果希望将它们分开,可以从DatetimeIndex
中提取date
和time
,如下所示:
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
您的答案中没有涉及日期时间格式转换。
2018年1月1日14:00
,请不要使用您自己的数据。@Wen将UTC时间转换为EST的最简单方法是什么?@lee.edward01@Wen,编辑了答案。但是,正如文档所示,我可以将字符串作为日期传递,而不必将datetime
对象作为startdate传递。如果我错了,请纠正我。谢谢。@HarvIpan我想这是输入'03-20-2018t14:00'而不是'03-20-2018 14:00'