我有一系列看起来如下:
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],' ')
但它不起作用。任何人都可以解释为什么以及如何解决这个问题?
答案 0 :(得分:1)
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
答案 1 :(得分:0)
您可以使用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