微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-根据总str长度选择字符串的中间部分进入新的列pandas

如何根据动态变化的长度提取字符串的年份部分,

示例数据

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐