如何反向执行 date_range?
Posted
技术标签:
【中文标题】如何反向执行 date_range?【英文标题】:How to do date_range in reverse? 【发布时间】:2014-06-18 14:24:21 【问题描述】:我正在处理如何反向创建日期范围的问题。 我正在尝试这个:
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)]`
【问题讨论】:
【参考方案1】:使用可以通过花哨的索引直接得到这个:
pandas.date_range(end='2/08/2014', periods=104, freq='W-Sat')[::-1]
【讨论】:
【参考方案2】:您可以通过指定负频率来本地执行此操作:
import pandas as pd
freq = '-1W-Sat'
dates = pd.date_range(start='2/08/2014', periods=104, freq=freq, closed = None)
请注意,使用了start
参数。
【讨论】:
不适用于freq='-SMS'(与规定的freq='-1W-Sat'一起使用);熊猫==0.23.4 为我工作freq='-3M'
【参考方案3】:
使用reversed(dates)
代替dates.reverse()
【讨论】:
【参考方案4】:这段代码对我有用:
from pandas import
dates_reversed = DatetimeIndex(reversed(dates_original))
【讨论】:
【参考方案5】:您似乎获得了一个列表类型作为 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()
【讨论】:
'DatetimeIndex' 对象没有属性 'reverse'以上是关于如何反向执行 date_range?的主要内容,如果未能解决你的问题,请参考以下文章
给定前馈步骤中张量的索引版本,pytorch 如何执行反向微分?