我只需要存储一个月和一个没有一年值的日期(生日)。
在查看pandas的文档时(主要是因为它具有有用的时间操作功能),特别是Periods,它表明你需要传递一个时间跨度和一个频率。我不太确定如何使用频率部分来解决我的问题。什么频率最合适?使用pd甚至是最好的方法吗?
谢谢!
答案 0 :(得分:3)
这不是Period
的工作方式。它们代表特定的时间段。与Timestamp
代表特定时间点的方式类似。
您似乎想要一个通用的Month-Day
标签。您可以使用strftime
来获取字符串,但是您将丢失任何日期操作。
考虑一系列带有时间戳索引的时间戳。
s = pd.date_range('2011-01-31', periods=12, freq='M').to_series()
s
2011-01-31 2011-01-31
2011-02-28 2011-02-28
2011-03-31 2011-03-31
2011-04-30 2011-04-30
2011-05-31 2011-05-31
2011-06-30 2011-06-30
2011-07-31 2011-07-31
2011-08-31 2011-08-31
2011-09-30 2011-09-30
2011-10-31 2011-10-31
2011-11-30 2011-11-30
2011-12-31 2011-12-31
Freq: M, dtype: datetime64[ns]
您可以像这样(see this site for a summary of strftime
)
s.dt.strftime('%m-%d')
2011-01-31 01-31
2011-02-28 02-28
2011-03-31 03-31
2011-04-30 04-30
2011-05-31 05-31
2011-06-30 06-30
2011-07-31 07-31
2011-08-31 08-31
2011-09-30 09-30
2011-10-31 10-31
2011-11-30 11-30
2011-12-31 12-31
Freq: M, dtype: object