我的数据框中有一列(称为“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:]
- 使用
new_date = new_left+'/'+new_right
将新字符串合并为一个字符串
编辑:基于其他答案直接使用数据框的单行解决方案:
df['new'] = df['fy'].str.split('/')[0][-2:] +'/'+ df['fy'].str.split('/')[1][-2:]
这是一种更通用的方法,因为它适用于具有不同长度的字符串并且只获取最后 2 个字符,防止错误的索引错误并防止您对它们进行硬编码(即使您的日期可能总是有 4 个字符每个加上'/',至少在接下来的8000年内)
关于Python Pandas - Dataframe 列 - 将格式为 '2015/2016' 的 FY 转换为 '15/16',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45198564/