Python 要将字符串日期转换为日期时间,并将其拆分为年和月的两列
我的数据框有一列日期,如2014-11-12。 我想将其分为两列:年和月日,并将2014年放在“年列”和11月12日放在“月日”列中。我是python新手。非常感谢您的帮助。我认为您需要:Python 要将字符串日期转换为日期时间,并将其拆分为年和月的两列,python,pandas,date,Python,Pandas,Date,我的数据框有一列日期,如2014-11-12。 我想将其分为两列:年和月日,并将2014年放在“年列”和11月12日放在“月日”列中。我是python新手。非常感谢您的帮助。我认为您需要: df['Date'] = pd.to_datetime(df['Date']) df['Year'] = df['Date'].dt.year df['Month-Date'] = df['Date'].dt.strftime('%m-%d') print (df) ID
df['Date'] = pd.to_datetime(df['Date'])
df['Year'] = df['Date'].dt.year
df['Month-Date'] = df['Date'].dt.strftime('%m-%d')
print (df)
ID Date Data_Value Year Month-Date
0 USW00094889 2014-11-12 22 2014 11-12
1 USC00208972 2009-04-29 56 2009 04-29
2 USC00200032 2008-05-26 278 2008 05-26
3 USC00205563 2005-11-11 139 2005 11-11
4 USC00200230 2014-02-27 -106 2014 02-27
5 USW00014833 2010-10-01 194 2010 10-01
6 USC00207308 2010-06-29 144 2010 06-29
使用
df.Date.dt.month
,构建一个类似{1:'Jan',2:'Feb'…}
的dict,然后使用map
这可能是一个重复的问题和答案:。。。如果您提供一些代码,也会有所帮助。。。如果你问我的想法,据我所知,你有两个选择:(1)使用月份全名,这将要求你导入datetime
并使用.strftime(“%B”)
。(2) 使用缩写。在这种情况下,您应该使用数组创建自己的系统。基本上,让你的月数对应一个包含缩写的数组索引(这是非常基本的,但如果你不懂,请询问)。。。在这里粘贴一些数据有多难?你真的想让人们难以回答你的问题吗?你确定吗?否决票意味着非常糟糕的答案。那么为什么被接受呢?你的答案很完美,再次感谢
df['Date'] = pd.to_datetime(df['Date'])
df['Year'] = df['Date'].dt.year
df['Month-Date'] = df['Date'].dt.strftime('%b-%d')
print (df)
ID Date Data_Value Year Month-Date
0 USW00094889 2014-11-12 22 2014 Nov-12
1 USC00208972 2009-04-29 56 2009 Apr-29
2 USC00200032 2008-05-26 278 2008 May-26
3 USC00205563 2005-11-11 139 2005 Nov-11
4 USC00200230 2014-02-27 -106 2014 Feb-27
5 USW00014833 2010-10-01 194 2010 Oct-01
6 USC00207308 2010-06-29 144 2010 Jun-29