удалить персонажа в серии с заменой - PullRequest
0 голосов
/ 03 июня 2018

У меня есть серия, которая выглядит следующим образом:

datum

02-jun-18

01-jun-18

01-jun-18

30-maj-18

30-maj-18

29-maj-18

27-maj-18

25-maj-18

25-maj-18

25-maj-18

14-maj-18

Я хочу удалить дни в каждой строке, но сохранить месяц и год с помощью следующего кода:

df['datum']=df['datum'].replace(df['datum'][0:2],' ') 

Но это не работает.Кто-нибудь может объяснить, почему и как я могу решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 03 июня 2018

Вы можете использовать str.split

pd.Series(['18 may 2018','10 jun 2018']).str.split(' ',1).str[1]
Out[209]: 
0    may 2018
1    jun 2018
dtype: object
0 голосов
/ 03 июня 2018

df['datum'].replace(df['datum'][0:2],' ') заменит первые две строки пробелами, а не первые две буквы в каждой строке.Вы хотите работать с df.datum.str

Вариант 1 (Если все ваши месяцы состоят из трехбуквенных сокращений)
string slicing

df.datum.str[-8:]

0    jun 2018
1    jun 2018
2    maj 2018
Name: datum, dtype: object

Опция 2
str.replace с .*\s(\w+\s\w+)$

df.datum.str.replace(r'.*\s(\w+\s\w+)$', r'\1')

0    jun 2018
1    jun 2018
2    maj 2018
Name: datum, dtype: object
...