我需要一些方法來獲取一年中的日月對列表。這一年並不重要,只是它不可能是閏年。獲取一年中(任何一年)的天數列表爲d-m
事情是這樣的:
[01-01, 01-02, 01-03, ..., 12-30, 12-31]
當然有一些pandorable辦法做到這一點使用pd.date_range
?
我需要一些方法來獲取一年中的日月對列表。這一年並不重要,只是它不可能是閏年。獲取一年中(任何一年)的天數列表爲d-m
事情是這樣的:
[01-01, 01-02, 01-03, ..., 12-30, 12-31]
當然有一些pandorable辦法做到這一點使用pd.date_range
?
您可以使用date_range
默認D
頻率(可省略)與DatetimeIndex.strftime
:
#day-month
a = pd.date_range('2015-01-01', '2015-12-31').strftime('%d-%m')
print (a[:5])
['01-01' '02-01' '03-01' '04-01' '05-01']
print (a[-5:])
['27-12' '28-12' '29-12' '30-12' '31-12']
#month-day
a = pd.date_range('2015-01-01', '2015-12-31').strftime('%m-%d')
print (a[:5])
['01-01' '01-02' '01-03' '01-04' '01-05']
print (a[-5:])
['12-27' '12-28' '12-29' '12-30' '12-31']
如果還想閏日Febrary 29
使用2008
,2012
,2016
(一年整除4)
pd.date_range('2001-01-01', periods=365).strftime('%m-%d')
,或者使用相對較新的(在熊貓加入0.20.0)origin
特徵:
pd.to_datetime(np.arange(365), unit='D').strftime('%m-%d')
.to_datetime()已經獲得的原點參數
to_datetime()
具有獲得了一個新參數origin
,定義了一個 參考日期,從那裏計算得到的時間戳 用指定的特定單位解析數值。 (GH11276, GH11745)例如,
1960-01-01
作爲起始日期:
In [14]: pd.to_datetime([1, 2, 3], unit='D', origin=pd.Timestamp('1960-01-01'))
Out[14]: DatetimeIndex(['1960-01-02', '1960-01-03', '1960-01-04'], dtype='datetime64[ns]', freq=None)
默認設置在
origin='unix'
,默認爲1970-01-01 00:00:00
,其通常被稱爲‘unix epoch’
或POSIX時間。這 是以前的默認值,所以這是一個向後兼容的更改。
In [15]: pd.to_datetime([1, 2, 3], unit='D')
Out[15]: DatetimeIndex(['1970-01-02', '1970-01-03', '1970-01-04'], dtype='datetime64[ns]', freq=None)
感謝,正是我一直在尋找;) –
應該是'的strftime( '%間%d')'? – Zero