Python 仅合并年和月列以生成日期
我需要一些帮助,我目前有一个数据框,有两个数字格式的独立列“年”和“月”,我只想将这些列转换为日期。 例如2017年12月12日 有人知道怎么做吗?Python 仅合并年和月列以生成日期,python,python-2.7,python-3.x,pandas,jupyter-notebook,Python,Python 2.7,Python 3.x,Pandas,Jupyter Notebook,我需要一些帮助,我目前有一个数据框,有两个数字格式的独立列“年”和“月”,我只想将这些列转换为日期。 例如2017年12月12日 有人知道怎么做吗? 任何帮助都将不胜感激 使用pd.to\u datetime 设置 df = pd.DataFrame(dict( year=[2001, 2003, 2014, 1996], month=[5, 12, 2, 7], other=list('WXYZ') )) df month other year 0
任何帮助都将不胜感激 使用
pd.to\u 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
解决方案
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
不幸的是,当我使用上面的代码时,我得到了一个错误。错误状态为“ValueError:额外的键已传递到datetime程序集”您对如何绕过此问题有何建议?这消除了我的错误,然而,我如何在我的数据框中显示它?@Harry reassign to df我该怎么做?我当前的代码如下:导入熊猫作为pd导入numpy作为np导入datetime df=pd.read_csv(“Health.csv”)df.assign(Date=pd.to_datetime(df['Year',Month']]].assign(day=1)))df