从开始日期和时间开始的python / pandas,创建日期时间索引

时间:2018-07-20 13:42:57

标签: 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        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

1 个答案:

答案 0 :(得分:2)

您需要将 pandas.date_range() 127.0.0.1 192.168.1.139startperiods参数一起使用。

freq

或者,如果您希望它们分开,则可以从df['datetime'] = pd.date_range(start='03-20-2018t14:00', periods=len(df), freq="1min") 中提取datetime,如下所示:

DatetimeIndex

有关详细信息,请参见docs

输出:

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