[英]Pandas date_range inconsistent behavior
當使用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]
請注意,在第一種情況下,最后一次是指定的'end',而在第二種情況下,最后一次是較小的。 有誰能解釋一下?
我相信這個問題已在某些版本中得到解決。 現在, date_range
行為是一致的,始終包括DatetimeIndex
始終<= end
的start
和end
。 輸出格式也變得相當。
以下代碼使用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_range
end
日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.