熊猫每行正则表达式

时间:2016-12-07 03:08:09

标签: python regex pandas

我有一个数据框:

#!/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()

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

1 个答案:

答案 0 :(得分:1)

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

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

enter image description here