当前位置: 首页 > news >正文

基于专利合作地址匹配的数据构建区域协同矩阵

文章目录

    • 地区地址提取
    • 完成的处理代码

在专利合作申请表中,有多家公司合作申请。在专利权人地址中, 有多个公司的地址信息。故想利用这里多个地址。想用这里的地址来代表区域之间的专利合作情况代表区域之间的协同、协作情况。

下图是专利合作表的一部分:

image-20250227200812529

最终的结果:

image-20250227201838199

假设在一个专利的地址中,有1家成都公司,1家武汉公司,2家北京公司:

成都市,武汉市,北京市,北京市

首先计算这些区域两两合作的关系:

import pandas as pd
from itertools import permutations
from collections import Counter
d = Counter(list(permutations(["成都市", "武汉市", "北京市", "北京市"], r=2)))
d

输出:

Counter({('成都市', '北京市'): 2,('武汉市', '北京市'): 2,('北京市', '成都市'): 2,('北京市', '武汉市'): 2,('北京市', '北京市'): 2,('成都市', '武汉市'): 1,('武汉市', '成都市'): 1})
rows = []
cols = []
values = []for k, v in d.items():row, col = krows.append(row)cols.append(col)values.append(v)demo_matrix = pd.DataFrame({"row": rows,"col": cols,"value": values,}
)
demo_df = demo_matrix.pivot(index="row", columns="col", values="value")
demo_df.fillna(0, inplace=True)
demo_df

输出:

image-20250227202716646

上述只是使用了一个专利合作地址构建的合作矩阵。特意选取了其中有多个同一个地区的例子进行展示。如上述例子中,同一个专利中有两家北京的企业,那么 北京-北京 的权重是2。代表了这个区域内部的合作关系。

地区地址提取

从专利的地址中,提取出省市信息。
最开始想的是写一个正则表达式,提取省市区,但是后面发现这不可行,因为会有自治区、省道,这些特殊名称的干扰。

为了达到比较高的准确率,我收集了全国66万个行政区划代码表,在其中逐个与专利的地址逐个对应。通过这种方式可以保证比较高的准确率。

image-20250227203734452

由于本次使用省与市的地址,使用下述代码筛选出只有省和市的数据,筛选代码如下:

address_df = pd.read_csv("66万个全国各级行政区划代码表.csv")
def is_str(item):return isinstance(item, str) and len(item) > 0
idxs = ((address_df["1"].apply(is_str))& (address_df["2"].apply(is_str))& (~address_df["3"].apply(is_str))
)
address_filter_df = address_df[idxs]
address_filter_df = address_filter_df.drop(columns=["3", "4", "5"])
address_filter_df = address_filter_df.rename(columns={"1": "prov", "2": "city"})

下图展示全国342个市级单位:

address_filter_df.head(), address_filter_df.shape

image-20250227203959220

完成的处理代码

处理整个表格的时候,把所有专利的区域合作次数加起来的代码如下:

加载专利合作表:

def split_address(text):if not isinstance(text, str):return []text = re.split(";", text)text = [item.strip() for item in text if len(item.strip()) > 0]return textaddress1 = "当前专利权人地址"
address2 = "工商注册地址"df = pd.read_excel("20250212合作申请.xlsx")

下述代码实现了,从专利地址中抽取出省市信息:

def extract_address(df, address) -> Dict:# 首先是直辖市判断Four_Municipality = ["北京市", "上海市", "天津市", "重庆市"]for item in Four_Municipality:if item in address:return {"prov": item, "city": ""}for _, row in df.iterrows():prov = row["prov"]city = row["city"]if prov in address and city in address:return {"prov": prov, "city": city}print(f"error not find prov and city, {address}")return None

利用抽取出的省、市,构建矩阵:

def build_marix(attr_name):addresses = df[address1].map(split_address).tolist()ans = {}for row_address in addresses:row_address_parse = []for address in row_address:address_parse = extract_address(address_filter_df, address)if address_parse is None:continuerow_address_parse.append(address_parse)row_address_parse = [tmp["prov"] + " " + tmp["city"] for tmp in row_address_parse]row_address_cnt = Counter(list(permutations(row_address_parse, r=2)))for k, v in row_address_cnt.items():if k not in ans.keys():ans[k] = 0ans[k] += vrows = []cols = []values = []for k, v in ans.items():row, col = krows.append(row)cols.append(col)values.append(v)df_matrix = pd.DataFrame({"row": rows,"col": cols,"value": values,})pivot_df = df_matrix.pivot(index="row", columns="col", values="value")pivot_df.fillna(0, inplace=True)pivot_df.to_excel(f"{attr_name}.xlsx")

项目文件夹的内容如下:

image-20250227204945954

相关文章:

基于专利合作地址匹配的数据构建区域协同矩阵

文章目录 地区地址提取完成的处理代码 在专利合作申请表中,有多家公司合作申请。在专利权人地址中, 有多个公司的地址信息。故想利用这里多个地址。想用这里的地址来代表区域之间的专利合作情况代表区域之间的协同、协作情况。 下图是专利合作表的一部分…...

Java集合List快速实现重复判断的10种方法深度解析

文章目录 引言:为什么需要关注List重复判断?一、基础实现方法1.1 暴力双循环法1.2 HashSet法 二、进阶实现方案2.1 Stream API实现2.2 TreeSet排序法 三、高性能优化方案3.1 并行流处理3.2 BitSet位图法(仅限整数) 四、第三方库实…...

List的模拟实现(2)

前言 上一节我们讲解了list的基本功能,那么本节我们就结合底层代码来分析list是怎么实现的,那么废话不多说,我们正式进入今天的学习:) List的底层结构 我们先来看一下list的底层基本结构: 这里比较奇怪的…...

如何使用SaltStack批量替换SSL证书方案

以下是借助 SaltStack 批量替换 SSL 证书的完整方案,该方案结合了自动化更新与回滚机制,以保障操作的高效性与安全性: 一、准备工作 目录结构搭建 在 Salt Master 的 /home/salt/ssl_update 目录下构建如下结构:ssl_update/ ├──…...

Golang快速上手01/Golang基础

最近有需求,需要使用go,这几天快速过一遍基础语法,这是今天的总结 项目结构 #mermaid-svg-qpF09pnIik9bqQ4E {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-qpF09pnIik9bqQ4E .e…...

[Web 安全] 反序列化漏洞 - 学习笔记

关注这个专栏的其他相关笔记:[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01:反序列化漏洞 — 漏洞介绍 反序列化漏洞是一种常见的安全漏洞,主要出现在应用程序将 序列化数据 重新转换为对象(即反序列化)的过程中…...

【学习笔记】Google的Lyra项目:基于神经网络的超低比特率语音编解码技术

一、引言:语音通信的带宽挑战与技术突破 在实时音视频通信占据全球数字化生活核心地位的今天,Google于2021年推出的Lyra编解码器标志着语音编码技术进入新的时代。这款基于机器学习的新型音频编解码器以3kbps的极低比特率实现接近原始音质的语音重建能力…...

Unity Dedicated Server 控制台 输出日志LOg 中文 乱码

现象: 中文乱码 原因: Unity打包出来的.exe文件,语言一栏是英文,VS控制台出来不一样 解决方案: 新建.bat文件 ,并使用命令chcp 65001,运行时启动.bat,而不是.exe, 改不了exe属性,虽然有点奇怪&#xff…...

【Excel】 Power Query抓取多页数据导入到Excel

抓取多页数据想必大多数人都会,只要会点编程技项的人都不会是难事儿。那么,如果只是单纯的利用Excel软件,我还真的没弄过。昨天,我就因为这个在网上找了好久发好久。 1、在数据-》新建查询-》从其他源-》自网站 ,如图 …...

去耦电容的作用详解

在霍尔元件的实际应用过程中,经常会用到去耦电容。去耦电容是电路中装设在元件的电源端的电容,其作用详解如下: 一、基本概念 去耦电容,也称退耦电容,是把输出信号的干扰作为滤除对象。它通常安装在集成电路&#xf…...

HTTPS 与 HTTP 的区别在哪?

HTTP与HTTPS作为互联网数据传输的核心协议,其通信机制与安全特性深刻影响着现代网络应用的可靠性与用户体验。本文将解析两者的通信流程、安全机制及核心差异。 一、HTTP的通信机制 先来看看HTTP是什么吧。 HTTP基于TCP/IP协议栈,采用经典客户端-服务…...

let、const【ES6】

‌“我唯一知道的就是我一无所知。” - 苏格拉底 目录 块级作用域:var、let、const的对比:Object.freeze(): 块级作用域: 块级作用域指由 {} 包围的代码块(如 if、for、while、单独代码块等)形成的独立作用…...

openharmony5.0中hdf框架中实现驱动程序的动态加载和管理的技术细节分析

在分析openharmony的hdf框架的设备驱动加载器(IDriverLoader)时发现在创建实例时会首先判断一下是否完成了驱动入口的构建(HdfDriverEntryConstruct),如果没有构建会重新构建,这与我开始以为的不一致(我一直以为是采用的linux内核方式,只是由…...

TVS管学习记录

文章目录 前言一、TVS是什么?二、TVS关键参数1.反向截至电压**实际意义** 2.钳位电压**定义与作用****选择依据** **4. 实际应用示例****场景:通信端口的ESD保护** 3.反向截至电压和钳位电压的关联和区别**. 小结** 三、实际应用电路举例总结 前言 TVS管…...

数据库表的各种设计

本篇文章,主要讲解项目开发时,遇到不同的情况,要学会对数据库的表进行合理设计。 1、将表的某个字段,存到一张新表中 ①情况描述 ②操作步骤 第一步:创建role表 第二步:在user表中,删除role字…...

JWT使用教程

目录 JWT (JSON Web Token)1. JWT简介(1) 什么是JWT(2) JWT有什么用(3) JWT认证方式 2. JWT的组成部分3. 签名的目的4. JWT与Token的区别5 JWT的优势6 JJWT签发与验证token(1) 引入依赖(2) 创建 Token(3) 解析Token(4) 设置过期时间(5) 自定义claims 7. JWT自定义工具类 JWT (J…...

【大模型系列篇】如何解决DeepSeek-R1结构化输出问题,使用PydanticAl和DeepSeek构建结构化Agent

今日号外:🔥🔥🔥 DeepSeek开源周:炸场!DeepSeek开源FlashMLA,提升GPU效率 下面我们开始今天的主题,deepseek官方明确表示deepseek-r1目前不支持json输出/function call,可…...

老旧android项目编译指南(持续更)

原因 编译了很多项目,找到了一些可观的解决办法 1. android studio里面的jdk版本切换 jdk版本切换在这里,一般安卓开发需要用到4个版本的jdk,jdk8, jdk11, jdk17, jdk21新版的android stuio是默认使用高版本的jdk,所以切换版本是很有必要的 2. 命令…...

linux中安装部署Jenkins,成功构建springboot项目详细教程

参考别人配置Jenkins的git地址为https,无法连上github拉取项目,所以本章节介绍通过配置SSH地址来连github拉取项目 目录: 1、springboot项目 1.1 创建名为springcloudproject的springboot项目工程 1.2 已将工程上传到github中,g…...

AI开发利器:Anaconda

在Python开发过程中,不同的项目可能会依赖不同版本的Python以及各种不同版本的库。比如,项目A可能依赖Python 3.8和某个特定版本的numpy、TensorFlow和PyTorch,而项目B可能需要Python 3.9以及另一个版本的numpy库。如果直接在系统中安装Pytho…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

三体问题详解

从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 ​二、实现思路 总体思路: 用户通过Gradio界面上…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...