我正在处理如何反向创建日期范围的问题。 我正在尝试这个:
import pandas as pd
dates = pd.date_range(end='2/08/2014', periods=104, freq='W-Sat', closed = None)
我总是会从以后更早到达:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-02-18, ..., 2014-02-08]
Length: 104, Freq: W-SAT, Timezone: None
我希望从'2014-02-08'开始。
由于
解决方案:
感谢您指出内置的反向功能,您需要返回并创建DatetimeIndex以在时间序列中使用它,如下所示:
dTmp = pd.date_range(end='2/08/2014', periods=104, freq='W-Sat', closed = None)
dates = [d for d in reversed(dTmp)]`
答案 0 :(得分:10)
使用可以通过花哨的索引直接获得:
pandas.date_range(end='2/08/2014', periods=104, freq='W-Sat')[::-1]
答案 1 :(得分:1)
使用reversed(dates)
代替dates.reverse()
答案 2 :(得分:1)
您可以通过指定负频率来本地执行此操作:
import pandas as pd
freq = '-1W-Sat'
dates = pd.date_range(start='2/08/2014', periods=104, freq=freq, closed = None)
请注意,使用了start
参数。
答案 3 :(得分:0)
此代码对我有用:
from pandas import
dates_reversed = DatetimeIndex(reversed(dates_original))
答案 4 :(得分:-1)
似乎你得到一个列表类型作为date_range()函数的返回值。您可以使用列表中的内置reverse()函数来反转列表的元素。只需将.reverse()添加到日期。
import pandas as pd
dates = pd.date_range(end='2/08/2014', periods=104, freq='W-Sat', closed = None)
dates.reverse()