当前位置: 代码迷 >> python >> 检查python中的每一行是否存在条件并赋值给新变量
  详细解决方案

检查python中的每一行是否存在条件并赋值给新变量

热度:90   发布时间:2023-07-16 10:16:35.0

我在Python中有一个数据unir ,我想检查URL中是否有某种文本模式。 如果存在模式,则我想为新变量分配一个值,如果不存在,我想将该变量保留为空白。

我的数据示例如下:

sample =[
"https://www.unir.net/revista/especiales/ley-de-factura-electronica.html",
"https://www.unir.net/revista/especiales/autoempleo/",
"https://www.unir.net/revista/",
"https://www.unir.net/revista/especiales/examen-acceso-abogacia.html",
"https://www.unir.net/revista/especiales/informe-pisa/",
"https://www.unir.net/revista/",
"https://www.unir.net/revista/especiales/dificultades-de-aprendizaje.html",
"https://www.unir.net/revista/especiales/informe-pisa/profesores-salarios.html",
"https://www.unir.net/revista/especiales/autoempleo/",
"https://www.unir.net/revista/evento/ii-festival-de-teatro-unir/",
"https://en.unir.net/revista/noticias/page/64/",
"https://www.unir.net/revista/especiales/autoempleo/",
"https://www.unir.net/revista/especiales/informe-pisa/profesores-salarios.html",
"https://www.unir.net/revista/"]

unir = pd.DataFrame(sample, columns=["url"])

而且我正在搜索模式“ ”,以执行以下操作:

for x in unir["url"]:
    if (unir["url"].str.contains("https://www.unir.net/revista/especiales")) is True:
        unir["arees"] = "Especiales"
    else:
        unir["arees"] = ""

但是它只返回空白。

我不知道这是什么问题...

提前致谢,

在熊猫中最好避免循环,因为比较慢,最好使用矢量化解决方案:

mask = unir["url"].str.contains("https://www.unir.net/revista/especiales")
unir["arees"] = np.where(mask, "Especiales", '')
print (unir)
                                                  url       arees
0   https://www.unir.net/revista/especiales/ley-de...  Especiales
1   https://www.unir.net/revista/especiales/autoem...  Especiales
2                       https://www.unir.net/revista/            
3   https://www.unir.net/revista/especiales/examen...  Especiales
4   https://www.unir.net/revista/especiales/inform...  Especiales
5                       https://www.unir.net/revista/            
6   https://www.unir.net/revista/especiales/dificu...  Especiales
7   https://www.unir.net/revista/especiales/inform...  Especiales
8   https://www.unir.net/revista/especiales/autoem...  Especiales
9   https://www.unir.net/revista/evento/ii-festiva...            
10      https://en.unir.net/revista/noticias/page/64/            
11  https://www.unir.net/revista/especiales/autoem...  Especiales
12  https://www.unir.net/revista/especiales/inform...  Especiales
13                      https://www.unir.net/revista/