Python 日期时间问题

Python 日期时间问题,python,datetime,pandas,Python,Datetime,Pandas,我正在尝试以某种格式和数据类型获取日期时间序列。下面是系列和输出 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') 我希望最终输出看起来像下表,并且是datetime格式 Date Date

我正在尝试以某种格式和数据类型获取日期时间序列。下面是系列和输出

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')
我希望最终输出看起来像下表,并且是datetime格式

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'

下面是一些时间操纵的示例

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}

不行。可以使用datetime对象的字符串表示形式(例如2013-04),但不能格式化数据框中的单个列(它不是Excel)。另外,
to_period('M')
生成一个period对象。好的,很高兴知道。谢谢,这正是我想要的。谢谢