代码之家  ›  专栏  ›  技术社区  ›  Nick Duddy

根据str中包含的关键字为str系列创建标签

  •  -1
  • Nick Duddy  · 技术社区  · 6 年前

    我试图创建一个标签,以一个str系列取决于什么关键字是包含在str。我一直困惑了一段时间,不知道如何接近它。试过这个:

    mirantis['cat_label'] = np.where(pd.Series(mirantis.Mirantis_Address).str.contains('openstack|kubernetes'),'openstack', 'kubernetes')
    

    示例数据:

    https://www.mirantis.com/
    https://www.mirantis.com/blog/how-to-increase-the-probability-of-a-vnf-working-with-your-cloud-qa/
    https://www.mirantis.com/careers/
    https://www.mirantis.com/company/press-center/in-the-media/
    https://www.mirantis.com/software/mcp/sdn/
    https://training.mirantis.com/openstack-courses-exams/
    https://www.mirantis.com/services/transfer/
    https://training.mirantis.com/kubernetes-docker-courses-exams/
    https://www.mirantis.com/solutions/big-data-analytics/
    https://www.mirantis.com/cloud-case-studies/
    https://www.mirantis.com/services/transfer-services/
    https://www.mirantis.com/cloud-videos/
    https://www.mirantis.com/company/locations/
    https://www.mirantis.com/blog/admit-it-vnf-certification-is-marketing-bs/
    https://info.mirantis.com/mirantis-application-platform-beta
    https://www.mirantis.com/support/enterprise-support-services/
    https://www.mirantis.com/company/leadership/board-of-directors/
    https://training.mirantis.com/certification/
    https://www.mirantis.com/get-started/
    https://www.mirantis.com/software/mcp/
    https://docs.mirantis.com/
    https://info.mirantis.com/live-demo
    https://www.mirantis.com/solutions/network-functions-virtualization-nfv/
    https://www.mirantis.com/services/build/
    https://training.mirantis.com/
    https://www.mirantis.com/software/ceph/
    https://www.mirantis.com/solutions/container-technologies/
    https://info.mirantis.com/eBook-MCP-Deployment-Guide_Landing-Page
    https://www.mirantis.com/company/about/
    https://www.mirantis.com/software/kubernetes/
    https://www.mirantis.com/blog/how-to-deploy-spinnaker-on-kubernetes-a-quick-and-dirty-guide/
    https://info.mirantis.com/webinar-vnf-validation-metaswitch
    https://www.mirantis.com/company/press-center/info/
    https://www.mirantis.com/company/investors/
    https://www.mirantis.com/solutions/agile-enterprise/
    https://www.mirantis.com/blog/introducing-mirantis-cloud-platform-mcp-spring-2018-release/
    https://www.mirantis.com/partners/
    https://www.mirantis.com/services/managed-services/
    https://www.mirantis.com/services/operate/
    https://www.mirantis.com/software/openstack/
    https://www.mirantis.com/blog/
    https://www.mirantis.com/cloud-brochures/
    https://www.mirantis.com/cloud-events/
    https://info.mirantis.com/contact-us
    https://www.mirantis.com/cloud-webinars/
    https://www.mirantis.com/software/application-platform/
    https://info.mirantis.com/webinar-kubernetes-1-11
    https://www.mirantis.com/blog/whats-new-in-kubernetes-1-11-the-qa/
    https://www.mirantis.com/software/community/
    https://www.mirantis.com/services/build-services/
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   jezrael    6 年前

    我想我们需要 extract

    L = ['openstack','kubernetes','cloud']
    pat = '|'.join(r"\b{}\b".format(x) for x in L)
    mirantis['cat_label'] = mirantis.Mirantis_Address.str.extract('('+ pat + ')', expand=False)
    print (mirantis.head(10))
                                        Mirantis_Address   cat_label
    0                          https://www.mirantis.com/         NaN
    1  https://www.mirantis.com/blog/how-to-increase-...       cloud
    2                  https://www.mirantis.com/careers/         NaN
    3  https://www.mirantis.com/company/press-center/...         NaN
    4         https://www.mirantis.com/software/mcp/sdn/         NaN
    5  https://training.mirantis.com/openstack-course...   openstack
    6        https://www.mirantis.com/services/transfer/         NaN
    7  https://training.mirantis.com/kubernetes-docke...  kubernetes
    8  https://www.mirantis.com/solutions/big-data-an...         NaN
    9       https://www.mirantis.com/cloud-case-studies/       cloud