使用正则表达式python迭代数据帧

时间:2017-04-12 22:14:29

标签: python regex dataframe

我尝试在DF或列表中的另一列中解析SI类型模式 我尝试了两件事:

|    a             |
-------------------+
| Builder          |
| left             |
| SI_NAME lide_on  |
| SI_ID 456        |
| Scheduling Info  |

df['b']= df['a'].apply(lambda row: re.findall('\SI_\w+\s',row))  

list_DF=[]
for index,row in df.iterrows():
    list_DF.append(re.findall('\SI_\w+\s',row[0]))

我无法获得结果,第一个返回新列中的空列表

1 个答案:

答案 0 :(得分:1)

您可以使用类似

的内容
df['b'] = df['a'].str.findall(r'^SI_\w+')

使用.str将强制将内容解析为字符串。

^SI_\w+模式匹配SI_,然后仅在字符串的开头匹配1个字符(由于^) - 它看起来像您之后的条目遵循此模式。您可以在末尾添加.apply(','.join)或类似的内容,以在结果列中获取字符串数据。