pandas str Serie:切片后替换str

问题描述 投票:1回答:1

比方说,我有几个像这样的Serie的DataFrames:

serie_complete_days = pd.Series(['20190320','20190321','20190322', '20190323', '20190324', '20190325', '20190326', '20190327'])

我正在尝试仅保留每个字符串的两部分(日期和月份),并以欧洲格式替换,就像这样。

the_goal_is = pd.Series(['20-03','21-03','22-03', '23-03', '24-03', '25-03', '26-03', '27-03'])

我开始使用str.slice()函数隔离每个部分:

days_only = serie_complete_days.str.slice(start = 6, stop = 8)
months_only = serie_complete_days.str.slice(start = 4, stop = 6)

我认为这是最简单的方法,因为我没有更改DF的索引。但是之后我错过了一些东西,我不知道哪个函数最适合str.join(),str.replace()或str.update()...

提前感谢!

编辑:我想将此字符串保留为字符串。否to_datetime(),请

python string pandas slice
1个回答
2
投票

您可以使用Series.str.replace

Series.str.replace

或者您可以使用result = serie_complete_days.str.replace(r'\d{4}(\d{2})(\d{2})', r'\g<2>-\g<1>')

Series.dt.strftime

这将返回一个序列为:

Series.dt.strftime
© www.soinside.com 2019 - 2024. All rights reserved.