企业信息表的多维数据增强:资质属性与海关数据的添加方法

news/2024/11/13 15:05:29/

文章目录

    • 摘要
    • 1. 背景介绍
    • 2. 原始数据简介
      • 海关数据
    • 3. 企业资质添加:代码实现
      • 3.1 表格拼接
      • 3.2 企业资质属性添加
    • 4. 海关数据添加
    • 5. 总结

摘要

本文探讨了如何通过企业资质海关出口数据的加入,丰富企业信息表的维度,为企业分析提供更强大的数据支持。我们从实际业务需求出发,利用 Python 和 Pandas 库实现数据清洗、表格拼接与字段合并,并通过代码示例,展示如何实现自动化数据扩展。最终结果是更全面的企业信息表,为后续数据分析和决策提供坚实基础。


1. 背景介绍

企业信息表通常包含基础字段,如公司名称、经营范围和地理位置。然而,在实际的企业分析中,光靠这些数据往往不够。例如,我们可能需要以下信息:

  • 企业资质:例如企业是否属于专精特新、是否上市等;
  • 海关出口数据:例如企业的出口额等。

以下是原始企业信息表的样例:
企业信息表原始样例

分析需求:

  • 企业资质:根据企业是否符合特定资质标记为 1(符合)或 0(不符合)。
  • 海关数据:将匹配的出口额字段添加到表中。

经过处理后,表格效果如下:
处理后的企业信息表

最终,我们可以用这些新增字段对企业进行更精准的评估。


2. 原始数据简介

海关数据

以下为海关数据的样例:
海关数据样例

处理思路:

  1. 判断企业名称是否出现在海关数据表的“企业名称”列中。
  2. 如果匹配,将对应的2016年出口额添加到企业信息表中。

3. 企业资质添加:代码实现

3.1 表格拼接

以下是企业资质表的拆分样例:
分散的企业资质表

我们需要将这些分散的表格合并为一个完整的资质表。合并后的结果如下:
合并后的企业资质表

代码实现如下:

python">import os
import pandas as pd# 读取文件
def read_file_by_pandas(file, **kwargs):if file.endswith("xls") or file.endswith("xlsx"):return pd.read_excel(file, **kwargs)elif file.endswith("csv"):return pd.read_csv(file, **kwargs)return None# 拼接去重
def concat_drop_duplicates(kw, folder, output_file):all_data = []for file in os.listdir(folder):if not file.startswith(kw):continuedf = read_file_by_pandas(os.path.join(folder, file))if df is not None:all_data.append(df)combined_df = pd.concat(all_data)unique_df = combined_df.drop_duplicates()unique_df.to_csv(output_file, index=False)print(f"表格已合并并去重,保存至 {output_file}")

使用示例:

python">concat_drop_duplicates("13 民营科技企业", ".", "13_民营科技企业.csv")

这段代码将当前文件夹下所有以 “13 民营科技企业” 开头的表格合并,并保存为新的 CSV 文件。


3.2 企业资质属性添加

为企业信息表添加资质字段的代码如下:

python"># 定义映射函数
def get_trans_func(df):companies = set(df["企业名称"].str.strip())def func(item):return 1 if isinstance(item, str) and item.strip() in companies else 0return func# 添加企业资质字段
def add_attr(raw_file, attr_folder):raw_df = read_file_by_pandas(raw_file)for file in os.listdir(attr_folder):tmp_df = read_file_by_pandas(os.path.join(attr_folder, file))if tmp_df is not None:attr = file.split(".")[0]raw_df[attr] = raw_df["企业名称"].apply(get_trans_func(tmp_df))output_file = os.path.join(os.path.dirname(raw_file), "企业资质扩展.csv")raw_df.to_csv(output_file, index=False)print(f"企业资质扩展表已保存至 {output_file}")

示例:

python">raw_folder = "光电子"
attr_folder = "/path/to/企业资质名单表"
for file in os.listdir(raw_folder):add_attr(os.path.join(raw_folder, file), attr_folder)

运行后,原始企业表会多出对应的资质字段,效果如下:
添加企业资质后的表格


4. 海关数据添加

最后,我们将海关数据添加到企业信息表中。思路是利用 pandas.merge 方法,将海关表中的出口额字段合并进来。代码如下:

python">folder = "光电子"
hg_df = pd.read_excel("/path/to/海关库.xlsx")for file in os.listdir(folder):file_name = os.path.join(folder, file)if file_name.endswith("企业资质.csv"):df = read_file_by_pandas(file_name)merged_df = pd.merge(df, hg_df, on="企业名称", how="left")output_file = os.path.join(folder, f"{os.path.basename(file).split('.')[0]}_海关.xlsx")merged_df.to_excel(output_file, index=False)print(f"海关数据已添加,保存至 {output_file}")

关键参数解释:

  • how="left":确保即使企业不在海关表中,该条数据也不会丢失。

最终,处理后的表格如下:
添加海关数据后的表格


5. 总结

通过本文的步骤,我们实现了:

  1. 企业资质字段的自动化添加
  2. 海关出口数据的整合
  3. 构建了更丰富、实用的企业信息表,为企业分析提供强有力的数据支持。

http://www.ppmy.cn/news/1546700.html

相关文章

进程 线程 和go协程的区别

进程和线程是操作系统中两个重要的执行单元,理解它们的区别对于编程和系统设计非常重要。以下是它们的主要区别: ### 进程(Process) 定义:进程是一个正在执行的程序的实例,具有独立的地址空间。 资源&…

使用JS实现文件流转换excel?

要在JavaScript中将文件流转换为Excel,可以使用第三方库,如SheetJS (也称为xlsx库)。以下是一个简单的例子,展示如何使用SheetJS将Blob文件流转换为Excel文件并导出。 首先,确保安装了xlsx库: npm install xlsx 然后…

esayExcel根据模板导出包含图片

1、效果 2、模板 3、工具类代码 /*** 根据模板填充* param response* param templateStream 模板文件流* param map 模板文件所需要的参数* param list list循环模板参数* throws IOException*/public static void templateFilling(HttpServletRequest servletRequest,HttpServ…

31DNS设置

每天五分钟学Linux | 第三十一课:DNS设置 大家好!欢迎再次来到我们的“每天五分钟学Linux”系列教程。在前面的课程中,我们学习了如何配置Linux系统的IP地址。今天,我们将探讨如何设置DNS(域名系统)&#…

Rust 中的 match 基本用法

Rust 中的 match 是一个强大的控制流运算符,它允许你将一个值与一系列的模式进行匹配,并根据匹配的模式执行代码。以下是 match 的基本用法: 基础语法 match value {模式1 > 表达式1,模式2 > 表达式2,_ > 默认表达式, }示例 下面…

图论导引 - 第三章 第一节:连通性 - 11/09

章节概述 第三章(Paths and cycles)主要讲述了路径和循环相关的图论知识,包括四个部分:连通性、欧拉图、哈密顿图、一些相关算法应用。 连通性 Connectivity 通道 walk 给定一个图 G G G , G G G中的一条通道&…

Vue Cli 脚手架目录文件介绍

小试牛刀 //vetur高亮; vuetab 快速生成 <template><div class"box">我是个盒子<button click"fn">按钮</button></div> </template><script> export default {methods:{fn(){alert("Hello Vue")}} …

easyfs 简易文件系统

easyfs easyfs 简易文件系统文件系统虚拟文件系统 VFS简易文件系统 easyfs磁盘布局超级块 easyfs 文件系统结构磁盘上的索引结构索引节点Inode 和 DiskInode 之间的关系举例说明读取文件的过程&#xff08; /hello &#xff09; 参考文档 easyfs 简易文件系统 文件系统 常规文…