【发布时间】:2019-08-19 12:21:59
【问题描述】:
我很难从数据框中随机选择行。一般来说,使用np.random.choice(data,size=1000) 选择一行是没有问题的。我假设替换=真。但是,我需要随机选择一个小时并作为输出,接收每个季度的 4 行。
可供选择的数据框如下(1132行):
data=
Price Consume Feed
StartTime
2018-07-04 02:00:00 45.80 67.91 67.91
2018-07-04 02:15:00 45.80 51.05 51.05
2018-07-04 02:30:00 45.80 46.12 46.12
2018-07-04 02:45:00 45.80 46.86 46.86
2018-07-11 05:00:00 43.80 43.49 43.49
2018-07-11 05:15:00 43.80 50.71 50.71
2018-07-11 05:30:00 43.80 48.19 48.19
2018-07-11 05:45:00 43.80 40.02 40.02
我想要的输出是这样的:
假设随机生成器已“选择”2018-07-11 05:00:00,则输出为
2018-07-11 05:00:00 43.80 43.49 43.49
2018-07-11 05:15:00 43.80 50.71 50.71
2018-07-11 05:30:00 43.80 48.19 48.19
2018-07-11 05:45:00 43.80 40.02 40.02
根据随机样本的数量 (N),生成的数据帧的长度应为 4xN。
是否可以直接从数据框中随机选择一个小时并重复 1000 次?恐怕使用额外的数据框选择一个小时,然后在原始数据框中查找相应的值会太耗时。 我相信这在 Python 中应该是可行的,但我找不到任何提示。
感谢您的帮助!
【问题讨论】:
标签: python pandas dataframe datetime random