用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]