python 实现添加标签&打标签的操作

 更新时间:2021年05月21日 14:33:41   作者:六mo神剑  
这篇文章主要介绍了python 实现添加标签&打标签的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

普通打标签

odue_df=df_train_stmt.loc[(df_train_stmt.AGE3>0)|(df_train_stmt.AGE4>0)|(df_train_stmt.AGE5>0)|(df_train_stmt.AGE6>0),['XACCOUNT']].drop_duplicates()
odue_df['label']=1
cust_df=df_acct[['CUSTR_NBR','XACCOUNT']].drop_duplicates()
#做合并
df_y=pd.merge(cust_df,odue_df,how='left',on='XACCOUNT').groupby('CUSTR_NBR').agg({'label':max}).reset_index().fillna(0)

使用函数来打标签

#标注标签 Label
def label(row):
   if row['Date_received'] == 'null':
       return -1
   if row['Date'] != 'null':
       td = pd.to_datetime(row['Date'], format='%Y%m%d') - pd.to_datetime(row['Date_received'], format='%Y%m%d')
       if td <= pd.Timedelta(15, 'D'):
           return 1
   return 0
dfoff['label'] = dfoff.apply(label, axis=1)
#打标签,判断天数
def get_label(s):
    s = s.split(':')
    if s[0]=='null':
        return 0
    elif (date(int(s[0][0:4]),int(s[0][4:6]),int(s[0][6:8]))-date(int(s[1][0:4]),int(s[1][4:6]),int(s[1][6:8]))).days<=15:
        return 1
    else:
        return -1
dataset2.label = dataset2.label.apply(get_label)

补充:python 根据标签名获取标签内容

看代码吧~

 
import re
import json 
import requests
from bs4 import BeautifulSoup
import lxml.html
from lxml import etree
 
result = requests.get('http://example.webscraping.com/places/default/view/Algeria-4')
with open('123.html', 'wb') as f:
    f.write(result.content)
# print(parse_regex(result.text))
test_data = """
        <div>
            <ul>
                 <li class="item-0"><a href="link1.html" rel="external nofollow"  rel="external nofollow"  id="places_neighbours__row">9,596,960first item</a></li>
                 <li class="item-1"><a href="link2.html" rel="external nofollow" >second item</a></li>
                 <li class="item-inactive"><a href="link3.html" rel="external nofollow" >third item</a></li>
                 <li class="item-1"><a href="link4.html" rel="external nofollow"  id="places_neighbours__row">fourth item</a></li>
                 <li class="item-0"><a href="link5.html" rel="external nofollow"  rel="external nofollow" >fifth item</a></li>
                 <li class="good-0"><a href="link5.html" rel="external nofollow"  rel="external nofollow" >fifth item</a></li>
             </ul>
             <book>
                    <title lang="aaengbb">Harry Potter</title>
                    <price id="places_neighbours__row">29.99</price>
            </book>
            <book>
                <title lang="zh">Learning XML</title>
                <price>39.95</price>
            </book>
            <book>
                <title>Python</title>
                <price>40</price>
            </book>
         </div>
        """
# //div/ul/li/a[@id]  选取a标签中带有id属性的标签
# //div/ul/li/a 选取所有a标签
# //div/ul/li[2]/a
"""
/ 从根标签开始  必须具有严格的父子关系
// 从当前标签  后续节点含有即可选出
* 通配符 选择所有
//div/book[1]/title  选择div下第一个book标签的title标签
//div/book[1]/tittle[@lang="zh"] 选择div下第一个book标签的title标签并且内容是zh的title标签
//div/book/title //book/title //title 具有相同结果 只不过选取路径不一样
//book/title/@* 将title所有的属性值选出来
//book/title/text() 将title的内容选择出来,使用内置函数
//a[@href="link1.html" rel="external nofollow"  rel="external nofollow"  and @id="places_neighbours_row"]
//div/book/[last()]/title/text() 将最后一个book元素选出
//div/book[price > 39]/title/text() 将book子标签price数值大于39的选择出来
//li[starts-with(@class,'item')] 将class属性前缀是item的选出来
//title[contains(@lang,"eng")]将title属性lang含有eng关键字的标签选出
"""
html = lxml.html.fromstring(test_data)  # 加载任意一个字符串
html_data = html.xpath('//title[contains(@lang,"eng")]')  # xpath 查找路径
# print(dir(html_data[0]))  # 查看html_data有什么功能
print(html_data)
for i in html_data:
    print(i.text)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Python实现粒子滤波效果

    基于Python实现粒子滤波效果

    这篇文章主要介绍了基于Python实现粒子滤波效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Python 数据可视化pyecharts的使用详解

    Python 数据可视化pyecharts的使用详解

    这篇文章主要介绍了Python 数据可视化pyecharts的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • 深入探究Flask的两个高级特性之蓝图和JWT认证

    深入探究Flask的两个高级特性之蓝图和JWT认证

    本文将探讨 Flask 的两个高级特性:蓝图(Blueprints)和 JSON Web Token(JWT)认证,蓝图让我们可以将应用模块化,以便更好地组织代码;而 JWT 认证是现代 Web 应用中常见的一种安全机制,感兴趣的小伙伴跟着小编一起来看看吧
    2023-08-08
  • Pycharm及python安装详细教程(图解)

    Pycharm及python安装详细教程(图解)

    这篇文章主要介绍了Pycharm及python安装详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-07-07
  • python正则表达式函数match()和search()的区别

    python正则表达式函数match()和search()的区别

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢?本文详细介绍了这2个函数的区别
    2021-10-10
  • Python中zip()函数的简单用法举例

    Python中zip()函数的简单用法举例

    这篇文章主要给大家介绍了关于Python中zip()函数的简单用法,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Python求算数平方根和约数的方法汇总

    Python求算数平方根和约数的方法汇总

    这篇文章主要介绍了 Python求算数平方根和约数的方法汇总的相关资料,需要的朋友可以参考下
    2016-03-03
  • Django Admin中增加导出CSV功能过程解析

    Django Admin中增加导出CSV功能过程解析

    这篇文章主要介绍了Django Admin中增加导出CSV功能过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python多图片合并PDF的方法

    Python多图片合并PDF的方法

    今天小编就为大家分享一篇关于Python多图片合并PDF的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python不使用for计算两组、多个矩形两两间的iou方式

    python不使用for计算两组、多个矩形两两间的iou方式

    今天小编就为大家分享一篇python不使用for计算两组、多个矩形两两间的iou方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论