You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas DataFrame中为两位年份添加'19'生成四位年份?

解决Pandas两位年份转四位19XX的问题

嘿,我清楚你碰到的问题啦——你用add()拼接的时候搞反了顺序!df['Year'].add(df2)其实是把年份字符串放在前面,把列表里的'19'拼在后面,所以才会得到6919这种结果,而不是你想要的1969。

其实根本不用创建305个'19'的列表,Pandas的字符串列支持直接和字符串常量做前缀拼接,简单高效得多。给你两种靠谱的解决方法:

方法一:直接前缀拼接(推荐)

先确保年份列是字符串类型(如果已经是可以跳过第一步),然后直接把'19'加在前面:

# 确保年份列是字符串格式
df['Year'] = df['Year'].astype(str)
# 前缀拼接得到四位年份
df['Year'] = '19' + df['Year']

方法二:用str.cat()方法指定拼接顺序

如果一定要用拼接方法,你可以用str.cat()明确指定要拼接的前缀:

df['Year'] = df['Year'].astype(str).str.cat(['19']*len(df), join='left')

不过这种方法不如第一种简洁,毕竟没必要手动创建重复的列表~

举个小例子验证:

假设我们有这样的DataFrame:

import pandas as pd
df = pd.DataFrame({'Year': ['69', '68', '56']})

用方法一处理后,df['Year']就会变成:

0    1969
1    1968
2    1956
Name: Year, dtype: object

完全符合你的预期!

内容的提问来源于stack exchange,提问作者That Guy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:39:49