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_(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 = ('example.webscraping/places/default/view/Algeria-4')
with open('123.html', 'wb') as f:
f.t)
# print(parse_))
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
"""
/ 从根标签开始必须具有严格的⽗⼦关系
// 从当前标签后续节点含有即可选出html ul标签
* 通配符 选择所有
//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:
)
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论