Sco*_*tEU 1 python dataframe pandas
我的数据框中有一列(称为'FY'),其格式为财务年度值:2015/2016或2016/2017.
我想转换整个列,所以它说15/16或16/17等等.
我假设你只是从字符串中获取第3,第4和第5个字符,以及第8和第9个字符,但是还没有得到如何做到这一点的线索.
谁能帮助我?谢谢.
给定一个字符串,date = "2015/2016"您可以执行以下操作来获取15/16:
left, right = date.split('/')捕捉到两个不同的日期从字符串中删除所有但最后2个字符:
new_left = left[-2:]
new_right = right[-2:]
Run Code Online (Sandbox Code Playgroud)new_date = new_left+'/'+new_right编辑:基于其他答案,直接与数据框一起工作的单线解决方案:
df['new'] = df['fy'].str.split('/')[0][-2:] +'/'+ df['fy'].str.split('/')[1][-2:]
Run Code Online (Sandbox Code Playgroud)
这是一种更通用的方法,因为它适用于不同长度的字符串,只获取最后2个字符,防止错误索引的错误,并防止您对它们进行硬编码(即使您的日期可能总是有4个字符加上'/',至少在未来8,000年内)