如何反向执行 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 如何执行反向微分?

正反向路由

如何在不使用 VBA 的情况下在 Excel 中执行反向字符串搜索?

反向传播算法

nginx如何做反向代理服务器?

如何在多个端口上设置反向代理(tcp & udp)