如何在数据框的值中添加前缀字符串
Posted
技术标签:
【中文标题】如何在数据框的值中添加前缀字符串【英文标题】:How to add a prefix string in the values of dataframe 【发布时间】:2021-07-08 20:33:27 【问题描述】:这里我有一个只显示年份的最后两位数字的数据框:
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
【问题讨论】:
YEAR 是int
还是 object
(string)?
您希望如何确定它是 2000 年代的值还是 1900 年代的值?
请从intro tour 重复on topic 和how to ask。 “告诉我如何解决这个编码问题”不是堆栈溢出问题。我们希望您做出诚实的尝试,然后然后就您的算法或技术提出一个具体的问题。 Stack Overflow 无意取代现有的文档和教程。
【参考方案1】:
这是你所期望的吗?当前年份可以作为支点。
>>> 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
【讨论】:
【参考方案2】:您可以通过以下方式实现:
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
【讨论】:
以上是关于如何在数据框的值中添加前缀字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 re 库提取 xml 值中给定标签列表的值? [复制]