[英]pandas str Series : replace a str after slicing it
假設我在幾個 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() function 隔離每個部分:
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() 之間哪個 function 是最好的...
提前致謝 !
編輯:我想將此字符串保留為字符串。 沒有 to_datetime(),請
您可以使用Series.str.replace
:
result = serie_complete_days.str.replace(r'\d{4}(\d{2})(\d{2})', r'\g<2>-\g<1>')
或者您可以使用Series.dt.strftime
:
result = pd.to_datetime(serie_complete_days).dt.strftime('%d-%m')
這將返回一個系列:
0 20-03
1 21-03
2 22-03
3 23-03
4 24-03
5 25-03
6 26-03
7 27-03
dtype: object
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.