Skip to main content
 首页 » 编程设计

Python Pandas之Dataframe 列之将格式为 '2015/2016' 的 FY 转换为 '15/16'

2025年05月04日10傻小

我的数据框中有一列(称为“FY”),其财政年度值的格式为:2015/2016或 2016/2017 .

我想转换整个列,所以它显示 15/16或 16/17等等。

我假设您不知何故只从字符串中取出第 3、4 和 5 个字符,以及第 8 和第 9 个字符,但不知道如何去做。

谁能帮帮我?谢谢。

请您参考如下方法:

给定一个字符串 date = "2015/2016",您可以执行以下操作以获得 15/16:

  1. 使用 left, right = date.split('/') 捕获两个单独的日期
  2. 删除字符串中除最后 2 个字符外的所有字符:

    new_left = left[-2:] 
    new_right = right[-2:] 
    
  3. 使用 new_date = new_left+'/'+new_right 将新字符串合并为一个字符串

编辑:基于其他答案直接使用数据框的单行解决方案:

df['new'] = df['fy'].str.split('/')[0][-2:] +'/'+ df['fy'].str.split('/')[1][-2:] 

这是一种更通用的方法,因为它适用于具有不同长度的字符串并且只获取最后 2 个字符,防止错误的索引错误并防止您对它们进行硬编码(即使您的日期可能总是有 4 个字符每个加上'/',至少在接下来的8000年内)