簡體   English   中英

pandas str系列:切片后替換一個str

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM