为给定数据创建时间流

create timestemps for given data

我有一个 pandas DataFrame df 像:

Typ1 Typ2 Typ3

10 50 60

20 100 80

75 80 20

...等等(一年中有 8760 小时的 8760 行)。 这意味着,第一行是 2012-01-01 00:00:00 的值,第二行显示 2012-01-01 00:01:00 的值,依此类推。

我有两点:

第一个:

现在,我想创建从特定年份的 1 月 1 日到 12 月 31 日的 Timestemps,并将其放在值旁边。 我怎么能做到呢?我尝试使用 pd.date_range(),但我只有日期,没有时间。

第二个:

最后,从时间模板中,我需要所讨论年份中特定时间的工作日,或者步骤 FIRST 中的时间模板。 但我不知道,我如何才能 'import' 信息,x、y 等小时是哪个工作日?!

最后,我的 DataFrame 应该看起来像(这里是 2012 年):

工作日 Typ1 Typ2 Typ3

周日 10 50 60

周日 20 100 80

周日 75 80 20

...依此类推,直到 2012 年 12 月 31 日 'monday' 第 8760 个小时。 (2013 年将从星期二开始)

我相信你想要的是

pd.date_range('2012-01-01','2012-12-31', freq='T')

关于频率的不同选择,请参见此处http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases

要将其附加到您的数据框:

df['Timestamp'] = pd.date_range('2012-01-01','2012-12-31', freq='T')

如果您想将其用作索引

df.set_index('Timestamp', inplace=True)

关于你的第二个问题。您可以从时间戳中检索工作日。

x = pd.date_range('2012-01-01','2012-12-31', freq='T')
x.weekday

然后将为您提供一个数组,其中值 0,1,...,6 代表相应的工作日。