gpt4 book ai didi

python - 为每个 n 个元素创建相同的时间戳

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:19 25 4
gpt4 key购买 nike

我有一个函数可以创建一个包含 100.000 个可以追溯到过去的时间戳的人工列表。频率为2分钟。

datelist = pd.date_range(end = pd.datetime.today(), period=100000, freq='2min00S').tolist()

结果如下:

[Timestamp('2018-12-03 19:48:35.874707', freq='2T'),
Timestamp('2018-12-03 19:50:35.874707', freq='2T'),
Timestamp('2018-12-03 19:52:35.874707', freq='2T'),
Timestamp('2018-12-03 19:54:35.874707', freq='2T'),
Timestamp('2018-12-03 19:56:35.874707', freq='2T'),
Timestamp('2018-12-03 19:58:35.874707', freq='2T'),
Timestamp('2018-12-03 20:00:35.874707', freq='2T'),
Timestamp('2018-12-03 20:02:35.874707', freq='2T'),
Timestamp('2018-12-03 20:04:35.874707', freq='2T'),
Timestamp('2018-12-03 20:06:35.874707', freq='2T'),
...]

我想为每 50 个元素创建一个相同的时间戳。目前我对每 100.000 个元素都有不同的时间戳。有什么想法吗?

换句话说:2 分钟的频率保持不变,但每 50 个元素的时间戳将相同。

这个最终列表将作为新列集成到 pandas 数据框中。

data_pd['时间戳'] = 日期列表

最佳答案

我相信您需要在通过数组删除 tolist() 后对 DatetimeIndex 进行索引,并将 50 整数除以 numpy.arange 按 DataFrame 的长度:

dates = pd.date_range(end = pd.datetime.today(), periods=100000, freq='2min00S')
data_pd['Timestamp'] = dates[np.arange(len(data_pd)) // 50]

示例:(每 5 个值)

dates = pd.date_range(end = pd.datetime.today(), periods=100000, freq='2min00S')
data_pd = pd.DataFrame({'a':range(10)})
data_pd['Timestamp'] = dates[np.arange(len(data_pd)) // 5]

print (data_pd)
a Timestamp
0 0 2019-08-17 13:20:41.002125
1 1 2019-08-17 13:20:41.002125
2 2 2019-08-17 13:20:41.002125
3 3 2019-08-17 13:20:41.002125
4 4 2019-08-17 13:20:41.002125
5 5 2019-08-17 13:22:41.002125
6 6 2019-08-17 13:22:41.002125
7 7 2019-08-17 13:22:41.002125
8 8 2019-08-17 13:22:41.002125
9 9 2019-08-17 13:22:41.002125

关于python - 为每个 n 个元素创建相同的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59575998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com