2016-12-07 72 views
0

我有一个数据帧:大熊猫everyline正则表达式

#!/usr/bin/python 
# encoding=utf-8 
df=pandas.DataFrame([[1,2,'2015-11入住,2015-11-12离开'],[2,3,'2016-11入住,2016-11-2离开']],columns=['a','b','c']) 
print df 

我想要得到的结果:

a b   c 
0 1 2 2015-11-12 
1 2 3 2016-11-2 

我想用正则表达式

df.c=re.search('((\d+)-){2}(\d+)',df.c).group() 

我知道这p21蛋白表达是错误: re模块用于str,但df.c是pandas.series,但我不知道如何为熊猫的每一行编写正则表达式

回答

1

可以使用pandas内置的正则表达式匹配.str.extract()方法:

df['c'] = df.c.str.extract('(\d+-\d+-\d+)') 

enter image description here

相关问题