我正在尝试以特定格式和dtype获取日期时间系列。下面是系列和输出。
enr = pd.date_range('4/1/2013', '7/1/2013', freq="M")
print(enr)
DatetimeIndex(['2013-04-30', '2013-05-31', '2013-06-30', '2013-07-31'], dtype='datetime64[ns]', freq='M')
我希望最终输出看起来像下表并采用日期时间格式。
Date Date
4/1/2013 2013-04
5/1/2013 2013-05
6/1/2013 2013-06
7/1/2013 2013-07
以下是我正在使用的代码,但我收到以下错误消息:
enr['Date'] = pd.to_datetime(enr).dt.to_period('M')
print(enr)
AttributeError: 'DatetimeIndex' object has no attribute 'dt'
答案 0 :(得分:1)
以下是一些时间操作的例子。
enr = pd.date_range('4/1/2013', '7/1/2013', freq="M")
df = pd.DataFrame(
{'period': [d.to_period('M') for d in enr],
'str_month': [d.strftime('%Y-%m') for d in enr],
'datetime': [d.to_pydatetime() for d in enr]}
, index=enr)
>>> df
datetime period str_month
2013-04-30 2013-04-30 2013-04 2013-04
2013-05-31 2013-05-31 2013-05 2013-05
2013-06-30 2013-06-30 2013-06 2013-06
>>> {col: type(df.ix[0, col]) for col in df}
{'datetime': pandas.tslib.Timestamp,
'period': pandas._period.Period,
'str_month': str}