簡體   English   中英

Pandas date_range從DatetimeIndex到Date格式

[英]Pandas date_range from DatetimeIndex to Date format

Pandas date_range返回一個pandas.DatetimeIndex ,其索引的格式為時間戳(日期加時間)。 例如:

In  [114] rng=pandas.date_range('1/1/2013','1/31/2013',freq='D')
In  [115] rng
Out [116]
<class 'pandas.tseries.index.DatetimeIndex'>
[2013-01-01 00:00:00, ..., 2013-01-31 00:00:00]
Length: 31, Freq: D, Timezone: None

鑒於我沒有在我的應用程序中使用時間戳,我想將此索引轉換為以下日期:

In  [117] rng[0]
Out [118]
<Timestamp: 2013-01-02 00:00:00>

將采用2013-01-02的形式。

我正在使用pandas 0.9.1版

to_pydatetime返回Python datetime.datetime對象的NumPy數組:

In [8]: dates = rng.to_pydatetime()

In [9]: print(dates[0])
2013-01-01 00:00:00

In [10]: print(dates[0].strftime('%Y-%m-%d'))
2013-01-01

對我來說,目前的答案並不令人滿意,因為在內部它仍然存儲為小時,分鍾,秒的時間戳。

熊貓版:0.22.0

我的解決方案是將其轉換為datetime.date

In[30]: import pandas as pd
In[31]: rng = pd.date_range('1/1/2013','1/31/2013', freq='D')
In[32]: date_rng = rng.date   # Here it becomes date
In[33]: date_rng[0]
Out[33]: datetime.date(2013, 1, 1)
In[34]: print(date_rng[0])
2013-01-01

暫無
暫無

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

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