用Python将年份转换为12/31/xxxx格式
我有一个存储在用Python将年份转换为12/31/xxxx格式,python,excel,pandas,datetime,Python,Excel,Pandas,Datetime,我有一个存储在Pandas.DataFrame(column=df[0])中的年份列表,如下所示: 0 1939 1 1977 2 1965 3 1982 4 1997 5 1956 如果“xxxx”等于年份,将这些日期转换为12/31/xxxx格式的最简单方法是什么?我需要将其转换为Excel格式,以便将数字识别为日期 注意:我在Excel中找到了一个使用“查找和替换”的快速方法,但我也想知道如何在Python中实现这一点 您应该能
Pandas.DataFrame
(column=df[0]
)中的年份列表,如下所示:
0 1939
1 1977
2 1965
3 1982
4 1997
5 1956
如果“xxxx”等于年份,将这些日期转换为12/31/xxxx
格式的最简单方法是什么?我需要将其转换为Excel格式,以便将数字识别为日期
注意:我在Excel中找到了一个使用“查找和替换”的快速方法,但我也想知道如何在Python中实现这一点 您应该能够使用类似的方法将数据转换为格式。日期将以年开始,并设置为12/31/年
date = '12/31/{0}'.format(date)
在大熊猫的背景下
df[0] = df[0].apply(lambda x: '12/31/{0}'.format(x))
您可以使用.astype()
以字符串形式获取日期,并将日期构造为:
代码:
测试代码:
结果:
使用
那很好用。这与我的想法是一致的,但我并不完全确定如何去做。很高兴能帮上忙,我发现自己经常去看熊猫的医生。谢谢我可能应该想到这一点,但还是有点新手。
'12/31/' + df[0].astype(str)
df = pd.DataFrame([1939, 1977, 1965, 1982, 1997, 1956])
print(df)
print('12/31/' + df[0].astype(str))
0
0 1939
1 1977
2 1965
3 1982
4 1997
5 1956
0 12/31/1939
1 12/31/1977
2 12/31/1965
3 12/31/1982
4 12/31/1997
5 12/31/1956
Name: 0, dtype: object
In [1094]: pd.to_datetime(df.year, format='%Y') + pd.offsets.YearEnd(1)
Out[1094]:
0 1939-12-31
1 1977-12-31
2 1965-12-31
3 1982-12-31
4 1997-12-31
5 1956-12-31
Name: year, dtype: datetime64[ns]