如何将含数字与字母的DataFrame列值缩短提取年份?
解决季度日期转年份列的问题
你现在的问题是要把Date列的季度日期提取前4位作为Year列,但你的代码里犯了一个小错误——你操作的是还没创建的Year列,而不是原有的Date列,所以肯定跑不通。
正确的实现方法有两种:
方法一:用pandas字符串访问器(更高效)
直接对Date列的字符串进行切片,pandas提供了str属性来批量处理字符串列:
df['Year'] = df['Date'].str[:4]
方法二:用apply函数(和你的思路一致但修正对象)
如果想用apply,要把操作对象改成Date列:
df['Year'] = df['Date'].apply(lambda x: x[:4])
执行完上面任意一种方法后,你就能得到想要的结果:
Year Value 1997 1 1997 2 1997 3 1997 4 1998 5 1998 6 1998 7 1998 8
内容的提问来源于stack exchange,提问作者Adam Clark
相关产品推荐
相关产品推荐

