簡體   English   中英

如何反向做date_range?

[英]How to do date_range in reverse?

我正在處理如何反向創建日期范圍的問題。 我正在嘗試這個:

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)]`

使用可以通過花哨的索引直接得到這個:

pandas.date_range(end='2/08/2014', periods=104, freq='W-Sat')[::-1]

您可以通過指定負頻率來本地執行此操作:

import pandas as pd
freq = '-1W-Sat'
dates = pd.date_range(start='2/08/2014', periods=104, freq=freq, closed = None)

請注意,使用了start參數。

使用reversed(dates)代替dates.reverse()

這段代碼對我有用:

from pandas import 
dates_reversed = DatetimeIndex(reversed(dates_original))

似乎您獲得了一個列表類型作為 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM