2017-11-11 50 views
-1

我需要一些帮助我现在有一个数据框,它有两个单独的列,以数字格式表示年份和月份,我只想将这些列转换为日期。 E.g 12-2017精梳年月大熊只的月份列

有谁知道如何做到这一点? 任何帮助将不胜感激!

回答

1

使用pd.to_datetime

设置

df = pd.DataFrame(dict(
    year=[2001, 2003, 2014, 1996], 
    month=[5, 12, 2, 7], 
    other=list('WXYZ') 
)) 

df 

    month other year 
0  5  W 2001 
1  12  X 2003 
2  2  Y 2014 
3  7  Z 1996 

解决方案

df = df.assign(Date=pd.to_datetime(df[['year', 'month']].assign(day=1))) 

df 

    month other year  Date 
0  5  W 2001 2001-05-01 
1  12  X 2003 2003-12-01 
2  2  Y 2014 2014-02-01 
3  7  Z 1996 1996-07-01 
+0

不幸的是,当我使用上面的代码,我得到一个错误。错误状态“ValueError:额外的键已经传递给日期时间组合”你有什么建议如何避免这种情况? – Harry

+0

@Harry试试我的更新 – piRSquared

+0

这样就摆脱了我的错误,但是如何让我的数据框显示呢? – Harry