gpt4 book ai didi

python - Pandas date_range 行为不一致

转载 作者:太空狗 更新时间:2023-10-30 01:34:06 25 4
gpt4 key购买 nike

当使用 pandas (v. 13.1) date_range 函数时,我得到关于“end”是否在返回范围内的不一致行为:

In [1]: pd.date_range(start='2014-06-09 15:36:55', 
end='2014-06-09 15:37:46',
freq='20s')
Out[1]: [2014-06-09 15:36:55, ..., 2014-06-09 15:37:55]

In [2]: pd.date_range(start='2014-06-09 15:36:55', 
end='2014-06-09 15:37:46',
freq='10s')
Out[2]: [2014-06-09 15:36:55, ..., 2014-06-09 15:37:45]

请注意,在第一种情况下,最后一次晚于指定的“结束”,而在第二种情况下,最后一次更小。谁能解释一下?

最佳答案

我相信这个问题已经在某些版本中得到修复。现在 date_range 行为是一致的,始终包括 startDatetimeIndex 的结尾 <= 结束。输出格式也变得漂亮了。

以下代码使用的是 pandas 0.17.0:

In [1]: import pandas as pd

In [2]: pd.date_range(start='2014-06-09 15:36:55',
...: end='2014-06-09 15:37:46',
...: freq='20s')
Out[2]:
DatetimeIndex(['2014-06-09 15:36:55', '2014-06-09 15:37:15',
'2014-06-09 15:37:35'],
dtype='datetime64[ns]', freq='20S')

In [3]: pd.date_range(start='2014-06-09 15:36:55',
end='2014-06-09 15:37:46',
freq='10s')
Out[3]:
DatetimeIndex(['2014-06-09 15:36:55', '2014-06-09 15:37:05',
'2014-06-09 15:37:15', '2014-06-09 15:37:25',
'2014-06-09 15:37:35', '2014-06-09 15:37:45'],
dtype='datetime64[ns]', freq='10S')

In [4]: pd.date_range(start='2014-06-09 15:36:55',
end='2014-06-09 15:37:46',
freq='15s')
Out[4]:
DatetimeIndex(['2014-06-09 15:36:55', '2014-06-09 15:37:10',
'2014-06-09 15:37:25', '2014-06-09 15:37:40'],
dtype='datetime64[ns]', freq='15S')

In [5]: pd.date_range(start='2014-06-09 15:36:55',
end='2014-06-09 15:37:46',
freq='1s')
Out[5]:
DatetimeIndex(['2014-06-09 15:36:55', '2014-06-09 15:36:56',
...... ......
'2014-06-09 15:37:45', '2014-06-09 15:37:46'],
dtype='datetime64[ns]', freq='S')

请注意,DatetimeIndex 的结束时间永远不会超过 date_rangeend 日期。

关于python - Pandas date_range 行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401814/

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