如何在数据框的值中添加前缀字符串
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
这里我有一个数据框,它只显示年份的最后两位数:
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