gpt4 book ai didi

python - Pandas df.index.round ('D' ) 24 小时

转载 作者:行者123 更新时间:2023-12-01 08:56:15 24 4
gpt4 key购买 nike

给定一个以 24 小时日期时间为索引的数据框,将日期时间四舍五入为天似乎会在 1200 小时后增加“天”。

这是另一个生成随机数示例的修改后的代码片段。

请注意输出日期时间索引“day”与四舍五入的“day”的比较。

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(1), freq='H')

np.random.seed(seed=1111)
data = np.random.randint(1, high=100, size=len(days))
df = pd.DataFrame({'test': days, 'col2': data})
df = df.set_index('test')

df['datetime_rounded'] = df.index.round('D')
print(df)
...
2018-10-12 10:19:29.907421 43 2018-10-12
2018-10-12 11:19:29.907421 77 2018-10-12
2018-10-12 12:19:29.907421 95 2018-10-13
2018-10-12 13:19:29.907421 79 2018-10-13

如何确保四舍五入的“天”在日期时间索引“天”的末尾结束?

谢谢

最佳答案

预计,round 函数会四舍五入到最近的一天,因此在 12:00:00 之后它会返回第二天。

我想你想要DatetimeIndex.floorDatetimeIndex.ceil :

df['datetime_round']  = df.index.round('d')
df['datetime_floor'] = df.index.floor('d')
df['datetime_ceil'] = df.index.ceil('d')
print(df)
col2 datetime_round datetime_floor datetime_ceil
test
2018-10-11 10:39:32.233426 29 2018-10-11 2018-10-11 2018-10-12
2018-10-11 11:39:32.233426 56 2018-10-11 2018-10-11 2018-10-12
2018-10-11 12:39:32.233426 82 2018-10-12 2018-10-11 2018-10-12
2018-10-11 13:39:32.233426 13 2018-10-12 2018-10-11 2018-10-12
2018-10-11 14:39:32.233426 35 2018-10-12 2018-10-11 2018-10-12
2018-10-11 15:39:32.233426 53 2018-10-12 2018-10-11 2018-10-12
2018-10-11 16:39:32.233426 25 2018-10-12 2018-10-11 2018-10-12
2018-10-11 17:39:32.233426 23 2018-10-12 2018-10-11 2018-10-12
2018-10-11 18:39:32.233426 21 2018-10-12 2018-10-11 2018-10-12
2018-10-11 19:39:32.233426 12 2018-10-12 2018-10-11 2018-10-12
2018-10-11 20:39:32.233426 15 2018-10-12 2018-10-11 2018-10-12
2018-10-11 21:39:32.233426 9 2018-10-12 2018-10-11 2018-10-12
2018-10-11 22:39:32.233426 13 2018-10-12 2018-10-11 2018-10-12
2018-10-11 23:39:32.233426 87 2018-10-12 2018-10-11 2018-10-12
2018-10-12 00:39:32.233426 9 2018-10-12 2018-10-12 2018-10-13
2018-10-12 01:39:32.233426 63 2018-10-12 2018-10-12 2018-10-13
2018-10-12 02:39:32.233426 62 2018-10-12 2018-10-12 2018-10-13
2018-10-12 03:39:32.233426 52 2018-10-12 2018-10-12 2018-10-13
2018-10-12 04:39:32.233426 43 2018-10-12 2018-10-12 2018-10-13
2018-10-12 05:39:32.233426 77 2018-10-12 2018-10-12 2018-10-13
2018-10-12 06:39:32.233426 95 2018-10-12 2018-10-12 2018-10-13
2018-10-12 07:39:32.233426 79 2018-10-12 2018-10-12 2018-10-13
2018-10-12 08:39:32.233426 77 2018-10-12 2018-10-12 2018-10-13
2018-10-12 09:39:32.233426 5 2018-10-12 2018-10-12 2018-10-13
2018-10-12 10:39:32.233426 78 2018-10-12 2018-10-12 2018-10-13

关于python - Pandas df.index.round ('D' ) 24 小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52755457/

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