【问题标题】:Select rows at intervals of one minute from a datetime column从日期时间列中以一分钟的间隔选择行
【发布时间】:2017-10-04 10:50:24
【问题描述】:

我得到了一只股票的日期时间和价格数据 例如

df = pd.DataFrame({ 'datetime' : ['2016-10-03 11:00:00', '2016-10-03 11:00:20','2016-10-03 11:00:24','2016-10-03 11:01:05','2016-10-03 11:01:14','2016-10-03 11:02:00','2016-10-03 11:02:28','2016-10-03 11:03:32','2016-10-03 11:04:26','2016-10-03 11:06:10'], 
                   'price' : [10.02, 10.32, 10.32, 10.21, 10.45, 10.56, 10.68, 10.80, 11.01, 10.98]})

我想每分钟买入 100 股股票(即 2016-10-03 11:00 - 价格为 10.02 * 100 股,2016-10-03 11:01 - 价格为 10.21 * 100 股等)

有没有办法在不合并数据的情况下实现这一点? (下一步需要以每秒为单位的数据)

【问题讨论】:

  • 哦,拜托,你怎么指望任何人复制粘贴这些数据......
  • 抱歉我的错...已编辑

标签: python pandas datetime dataframe


【解决方案1】:

IIUC,你可以使用pd.to_datetime + resample + first

df.assign(datetime=pd.to_datetime(df.datetime))\
        .set_index('datetime').resample('1T').first() * 100
                      price
datetime                   
2016-10-03 11:00:00  1002.0
2016-10-03 11:01:00  1021.0
2016-10-03 11:02:00  1056.0
2016-10-03 11:03:00  1080.0
2016-10-03 11:04:00  1101.0
2016-10-03 11:05:00     NaN
2016-10-03 11:06:00  1098.0

【讨论】:

  • 啊,我在那儿,但忙着回复评论另一个;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多