在python3中将MMM yyyy转换为yyyy-mm

时间:2020-02-25 21:07:35

标签: python-3.x pandas date datetime

在python3中将MMM yyyy转换为yyyy-mm

所以像dd mmm yyyy这样的熊猫日期框架

01 Feb 1985

可以使用以下代码将其转换为yyyy-mm-dd

df[["date"]] = df[["date"]].apply(pd.to_datetime)

输出:

1985-02-01

但是如果我有MMM yyyy之类的

Feb 1985

,我想输出为

1985-02

我该怎么做?

df[["date"]] = df[["date"]].apply(pd.to_datetime)

将输出我不想要的日期

1985-02-01 

有什么想法吗?

感谢您的评论。我刚刚意识到,数据框中存在NaN,我无法删除。所以我试图做一个函数来输入NaN,但是结果仍然像1985-02-01一样。有什么想法吗?

def date2int(df):

    for index, row in df.iteritems():

        try:
            t1=row.strftime('%b-%Y')
            return t1
        except ValueError:
            return None

date2int(df["date2"])

1 个答案:

答案 0 :(得分:0)

一个半小时的努力后

确定:

df['date2'] = df['date2'].loc[df['date2'].notnull()].apply(lambda x: x.strftime('%Y-%m'))

返回所需的输出,并避免NaN抛出错误消息

1985-02