我如何根据动态变化的长度提取字符串的年份部分,
示例数据
Name
C:/Users/Documents/Ownership_1_Year_2015.csv
C:/Users/Documents/Non_Ownersip_1_Year_2016.csv
C:/Users/Documents/Ownership_1_Year_2016.csv
我正在玩的公式是
df['Name_Stripped'] = df['Name'].str[:-4]
这显然去掉了 .csv,我试过 len(str)-8 会提供一个动态起始值,但毫不奇怪,它对我试图计算的长度感到困惑。我确实认为 for 循环可以与每次调用的 x 的长度一起工作,但我确信还有更多我不知道的 pythonic 方式..
预期结果:
Name
2015
2016
2016
最佳答案
这是一个解决方案吗?
df['Name_Stripped'] = df['Name'].str[-8:-4]
输出:
Name Name_Stripped
0 C:/Users/Documents/Ownership_1_Year_2015.csv 2015
1 C:/Users/Documents/Non_Ownersip_1_Year_2016.csv 2016
2 C:/Users/Documents/Ownership_1_Year_2016.csv 2016
关于python - 根据总 str 长度选择字符串的中间部分到新列 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51189266/