如何在数据框的值中添加前缀字符串

How to add a prefix string in the values of dataframe

这里我有一个数据框,它只显示年份的最后两位数:

YEAR  DWT   RFR
10    6571  1200
11    6421  1200
98    7786  3000
02    9191  1250

我想把它们作为一个完整的年份值,有什么解决办法吗?

预期输出:

YEAR    DWT   RFR
2010    6571  1200
2011    6421  1200
1998    7786  3000
2002    9191  1250

是你期待的吗?当前年份可以是支点。

>>> pivot_year = pd.Timestamp.now().year % 100

>>> df['YEAR'].astype(int) \
              .apply(lambda y: y + (2000 if y <= pivot_year else 1900))

0    2010
1    2011
2    1998
3    2002
Name: YEAR, dtype: int64

您可以按如下方式实现:

from datetime import datetime

import pandas as pd

df1 = pd.DataFrame({'YEAR': ['10', '11', '98', '02'], 'DWT': [6571, 6421, 7786, 9191], 'RFR': [1200, 1200, 3000, 1250]})
df1['YEAR'] = [datetime.strptime("01/01/" + yr, "%m/%d/%y").year for yr in df1['YEAR']]
print(df1)

   YEAR   DWT   RFR
0  2010  6571  1200
1  2011  6421  1200
2  1998  7786  3000
3  2002  9191  1250