pandas 处理数据一(抽取特定URL,正则匹配)

主要是想查找第一个url文件中的url在第二个文件中url中有多少个和它匹配。
第一个文件截图(共23个特征数据):
在这里插入图片描述
第二个文件截图,共6万多URL数据:
在这里插入图片描述
结果截图:
在这里插入图片描述

import pandas as pd
import numpy as np
df = pd.read_csv('cluster_all.csv')
#一次性删除指定列
x=[0,2]
df.drop(df.columns[x], axis=1, inplace=True)
df.columns = ['url','y_pre_20']
#去重
temp_df = df.drop_duplicates(subset=['url'], keep='first', inplace=False)#以url删除重复行
#转换成df格式的数据
data = pd.DataFrame(temp_df)

df_notRepetion = data.sort_values(["y_pre_20"],ascending=True)#以y_pre_20列排序
s_noRepetion_url = df_notRepetion.url
s_notRepetion = pd.Series(s_noRepetion_url)
s_allUrl = df.url
s_all = pd.Series(s_allUrl)
feature_df =  pd.read_csv('url.csv')
fea = feature_df.URL
s_fea = pd.Series(fea)
url_fea_list = s_fea.tolist()
url_all_list = s_all.tolist()
url_notRepetion_list = s_notRepetion.tolist()
count_dict = {}
import re
for var in url_fea_list:
    k=0
    for i in url_all_list:     
        #str_list = var.split('/')
        str_i_list = i.split(' ')
        #var_str = " ".join(str_list)
        i_str = "/".join(str_i_list)
        s = r'.*?'+var+'.*'
        ifmatch = re.search(pattern=s, string=i_str)
        if ifmatch:
            k=k+1
    count_dict.update(var=k)
    print(var,k)       
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值