我在Pandas.DataFrame
(column=df[0]
(中存储的年份清单,看起来像这样:
0 1939
1 1977
2 1965
3 1982
4 1997
5 1956
将这些日期转换为 12/31/xxxx
格式的最简单方法是" xxxx"等于年份的方法?我需要将其转换为Excel的格式,以识别数字为日期。
注意:我在Excel中使用查找和替换找到了一个快速的黑客攻击,但也想知道如何在Python中进行此操作。
使用
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]
您可以使用 .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
您应该能够使用类似的内容将数据转换为格式。日期将从年开始,并将其设置为12/31/Year
date = '12/31/{0}'.format(date)
在熊猫的上下文中
df[0] = df[0].apply(lambda x: '12/31/{0}'.format(x))