import re def getuniversity(data): rawdata = [re.findall('(.*?(?:大学|学院))', i) for i in data] return list(set([i[0] for i in rawdata if len(i) != 0])) data['University_list'] = data['Organ_list'].apply(getuniversity)什么意思
时间: 2023-11-30 19:02:08 浏览: 63
python中正则表达式 re.findall 用法
这段代码的作用是从给定的数据中提取出大学或学院的名称,并将结果存储在一个名为`University_list`的列中。
首先,导入了`re`模块,用于进行正则表达式匹配。接下来,定义了一个名为`getuniversity`的函数,该函数接受一个参数`data`。
在函数内部,首先对`data`中的每条数据应用正则表达式匹配。使用`re.findall`函数,通过正则表达式`(.*?(?:大学|学院))`来提取出满足条件的大学或学院名称。这个正则表达式表示匹配以"大学"或"学院"结尾的字符串,并尽可能少地匹配字符。
接下来,使用列表推导式对提取到的结果进行处理。首先判断每个结果列表`i`的长度是否为0,如果不为0,则说明匹配到了大学或学院的名称。然后,使用`set`函数去除重复的名称,并将结果转换为列表。
最后,通过调用DataFrame的`apply`方法,将`getuniversity`函数应用于`data['Organ_list']`这一列,并将结果存储在名为`University_list`的新列中。
总结起来,这段代码的目的是从给定的数据中提取出大学或学院的名称,并将结果保存在一个新的列中。
阅读全文