我尝试在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]))
我无法获得结果,第一个返回新列中的空列表
答案 0 :(得分:1)
您可以使用类似
的内容df['b'] = df['a'].str.findall(r'^SI_\w+')
使用.str
将强制将内容解析为字符串。
^SI_\w+
模式匹配SI_
,然后仅在字符串的开头匹配1个字符(由于^
) - 它看起来像您之后的条目遵循此模式。您可以在末尾添加.apply(','.join)
或类似的内容,以在结果列中获取字符串数据。