我在时间序列熊猫数据框下有一个值。但是,此框架不包含datetime列。数据大约为1440行,一天匹配1440分钟。因此,我想为此帧生成分钟时间戳列,该怎么做?
所需的结果格式为'%Y-%m-%d%H:%M:%S'
之前
value
0 210.38
1 210.50
2 210.51
3 210.40
4 210.41
之后
datetime value
0 2019-09-18 23:55:00 210.38
1 2019-09-18 23:56:00 210.50
2 2019-09-18 23:57:00 210.51
3 2019-09-18 23:58:00 210.40
4 2019-09-18 23:59:00 210.41
谢谢!
尝试一下,
from datetime import datetime
df=pd.DataFrame({'value': [ 210.38, 210.50, 210.51, 210.40, 210.41]})
df['date'] = pd.date_range(start=datetime.now(), periods=len(df), freq='T')
O / P:
value date
0 210.38 2020-01-10 15:04:23.249355
1 210.50 2020-01-10 15:05:23.249355
2 210.51 2020-01-10 15:06:23.249355
3 210.40 2020-01-10 15:07:23.249355
4 210.41 2020-01-10 15:08:23.249355
用途:
df.insert(0, 'datetime', pd.date_range('2019-09-18 23:55:00', periods=len(df), freq='T'))
print (df)
datetime value
0 2019-09-18 23:55:00 210.38
1 2019-09-18 23:56:00 210.50
2 2019-09-18 23:57:00 210.51
3 2019-09-18 23:58:00 210.40
4 2019-09-18 23:59:00 210.41
如果要动态生成日期时间:
df.insert(0, 'datetime', pd.date_range(pd.Timestamp.now().floor('T'), periods=len(df), freq='T'))
print (df)
datetime value
0 2020-01-10 10:36:00 210.38
1 2020-01-10 10:37:00 210.50
2 2020-01-10 10:38:00 210.51
3 2020-01-10 10:39:00 210.40
4 2020-01-10 10:40:00 210.41