python - 检查python中的每一行是否有条件并分配给一个新变量
问题描述
我unir
在 Python 中有一个数据框,我想检查 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"])
我正在搜索模式“ https://www.unir.net/revista/especiales ”,执行以下操作:
for x in unir["url"]:
if (unir["url"].str.contains("https://www.unir.net/revista/especiales")) is True:
unir["arees"] = "Especiales"
else:
unir["arees"] = ""
但它只返回空白。
我不知道似乎是什么问题......
提前致谢,
解决方案
在 pandas 中最好避免循环,因为速度慢,最好使用矢量化解决方案numpy.where
:
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/
推荐阅读
- javascript - 通过用户传递的特定键从对象数组中获取值
- amazon-web-services - AWS Code Deploy:如何在 EC2 实例上执行终端命令
- visual-studio - 如何在 Visual Studio 2019 中使用 C#10
- python - Discord.py/ 并非所有行都写了
- python - 如何将字典中的ndarray转换为pandas数据框并分配col名称
- xaml - UWP(Windows 10 应用程序)InkCanvas LoadAsync 错误 HRESULT E_FAIL 已从对 COM 组件的调用中返回
- reactjs - 如何在使用 react.js 从 AWS 中的 S3 存储桶中删除图像时解决 CORS 错误
- python - 如何在带有 M1 芯片的 Mac 上运行 Kivy
- python - Django ORM:ForeignKey=self 和 on_delete=PROTECT
- python - 如何使用 Python 从网络选项卡的特定请求的“请求标头”中获取信息?