如何读取CSV文件并合并内容并计算出现比例?

如何读取csv文件并合并内容并计算出现比例?

如何读取csv文件后合并内容

在读取csv文件后,可以通过以下步骤合并内容:

1. 获取主键列和待合并列
使用pd.read_csv()读取csv文件,并获取主键列(cmd)和待合并列(opt)。

2. 删除重复主键
使用set()和sorted()删除cmd列中的重复元素,得到不重复的主键列表。

3. 计算主键出现次数
使用counter()计算每个主键出现的次数,得到一个词频字典。

4. 初始化合并后的结果
创建一个文件来保存合并后的结果。

5. 遍历主键
对于每个主键,执行以下操作:

获取该主键对应的opt列索引。创建一个新的列表来存储opt列中的值。遍历opt列索引,将值添加到新列表中。将新列表转换为字符串,再转换为列表。

6. 计算并输出每个opt的出现比例
遍历不重复的opt值,计算每个opt在该主键下出现的次数与主键出现次数的比值,并将其写入结果文件中。

示例代码:

import pandas as pdimport osdata = pd.read_csv('test.csv')useRateF = 'test_new.csv'index_list_cmd = sorted(set(list(data.cmd.values)), key=list(data.cmd.values).index)cntLst = []for lst_i in range(len(index_list_cmd)):    cntLst.append(data.cmd.value_counts()[index_list_cmd[lst_i]])if os.path.isfile(useRateF):    os.remove(useRateF)for cmd_i in range(len(index_list_cmd)):    index_list_opt_idx = list(data.opt[data.cmd == index_list_cmd[cmd_i]].index.values)    index_list_opt = []    for opt_i in range(len(index_list_opt_idx)):        try:            index_list_opt.append(data.loc[int(index_list_opt_idx[opt_i]), 'opt'])        except:            print(index_list_cmd[cmd_i])            print(index_list_opt_idx[opt_i])            print(opt_i)    str_idxLstOpt = ' '.join(index_list_opt)    lst_idxLstOpt = str_idxLstOpt.split(' ')    for tag in sorted(set(lst_idxLstOpt), key=lst_idxLstOpt.index):        with open(useRateF, 'a', encoding='utf-8_sig') as uf:            uf.writelines(str(index_list_cmd[cmd_i]) + ',' + tag + ',' + str(lst_idxLstOpt.count(tag)/cntLst[cmd_i]))            uf.writelines('n')

以上就是如何读取CSV文件并合并内容并计算出现比例?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1350488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 15:07:31
下一篇 2025年12月13日 15:07:40

相关推荐

  • 使用Pandas库如何合并CSV文件中同一列的重复内容?

    在使用Pandas库读取CSV文件后,若需要合并某一列中的内容,可以按照以下步骤操作: 1. 提取特定列的数据 将目标列(如本文中的“opt”列)提取到一个列表中,使用data[‘列名’].values即可。 2. 计算各元素在列表中的出现次数 使用Counter类统计列表中…

    2025年12月13日
    000
  • python人马兽最简单处理

    Python中处理人马兽数据的两种方法:使用自定义函数解析数据并存储在数据结构中。使用外部库(如csv)解析和写入CSV文件中的数据。 相关阅读推荐: python人马兽系列有哪几个 python中的split怎么用 Python人马兽处理指南 立即学习“Python免费学习笔记(深入)”; 人马兽…

    2025年12月13日
    000
  • python爬虫源码打包下载

    如何打包Python爬虫源码?收集依赖项:确定所需的库和数据文件,并创建requirements.txt文件。创建包管理器包:使用PyInstaller或cx_Freeze等包管理器打包代码和依赖项,生成可执行文件或压缩文件。 Python爬虫源码打包下载 如何打包Python爬虫源码? 打包Pyt…

    2025年12月13日
    000
  • CSV – 在 Python 中处理本地和远程文件

    编码员们大家好! 本文介绍了一个开源工具,它能够处理本地和远程 csv 文件、加载和打印信息,然后将列映射到 django 类型。当数据集变大、excel不支持自定义报告或通过数据表进行完整数据操作时,通常需要处理csv文件,并且需要api。 当前的功能列表可以进一步扩展,以将 csv 文件映射到数…

    2025年12月13日
    000
  • 爬虫python入门教程文件

    Python爬虫处理文件主要包括读取和写入两个步骤:读取文件:使用open()函数打开文件,然后使用read()方法读取内容,最后使用close()方法关闭文件。写入文件:同样使用open()函数打开文件,然后使用write()方法写入内容,最后使用close()方法关闭文件。 Python爬虫入门…

    2025年12月13日
    000
  • python爬虫框架scrapy教程

    Scrapy是一个功能强大的Python网络爬虫框架,用于从网站提取数据。安装后,可以通过创建项目、编写爬虫、配置设置和运行爬虫来实现网络爬取。使用Scrapy,可以提取数据并将其存储在CSV文件或数据库中。 Python爬虫框架Scrapy教程 简介 Scrapy是一个功能强大的Python爬虫框…

    2025年12月13日
    000
  • scrapy爬虫项目实战教程

    Scrapy是一个用于从网站提取数据的Web爬虫框架。要创建Scrapy爬虫项目,请按照以下步骤操作:安装Scrapy:pip install scrapy创建项目:scrapy startproject myproject创建爬虫:在myproject目录中创建spider.py,并定义一个具有名…

    2025年12月13日
    000
  • 分步指南:从本地路径加载 HuggingFace ControlNet 数据集

    huggingface 提供了不同的选项来加载数据集。为 controlnet 加载本地图像数据集时,重要的是要考虑数据集结构、文件路径以及与 huggingface 数据处理工具的兼容性等方面。 假设您已经创建了调节图像并且具有以下文件夹结构: my_dataset/├── readme.md└─…

    2025年12月13日
    000
  • 使用 Python 抓取 Google 财经的终极指南

    网络抓取已成为开发人员的一项基本技能,尤其是在提取有价值的财务数据时。谷歌财经是此类数据的热门来源,但抓取这些数据可能具有挑战性。本指南将引导您完成使用 python 抓取 google finance 的过程,涵盖基本和高级技术。无论您是初学者还是中高级开发人员,本文旨在通过实际示例和解决方案满足…

    2025年12月13日
    000
  • python需要安装哪些模块

    Python必需模块:操作系统模块(os):提供与操作系统交互的功能。系统模块(sys):包含有关Python解释器和运行时的系统信息。数学模块(math):提供数学函数和常量。字符串模块(string):提供处理字符串的函数。正则表达式模块(re):使用正则表达式进行字符串操作。文件处理模块(op…

    2025年12月13日
    000
  • python怎么导入csv文件

    使用 Python 导入 CSV 文件的步骤:导入 csv 库。用 open 函数打开文件并创建 CSV 读取器对象。使用迭代器方法迭代行,每行以列表形式返回。通过索引访问行中的列(索引从 0 开始)。 如何使用 Python 导入 CSV 文件 使用 Python 导入 CSV(逗号分隔值)文件可…

    2025年12月13日
    000
  • pandas怎么读取csv文件

    读取CSV文件的方法有使用read_csv()函数、指定分隔符、指定列名、跳过行、缺失值处理、自定义数据类型等。详细介绍:1、read_csv()函数是Pandas中最常用的读取CSV文件的方法。它可以从本地文件系统或远程URL加载CSV数据,并返回一个DataFrame对象;2、指定分隔符,默认情…

    2025年12月13日
    000
  • php数组怎么添加数据库中_PHP数组数据添加到数据库操作

    需将PHP数组转为SQL语句再插入数据库,常用方式有五种:一、PDO预处理批量插入;二、mysqli逐条插入;三、JSON编码存TEXT字段;四、ORM框架如Eloquent批量写入;五、LOAD DATA INFILE导入CSV。 如果需要将PHP数组中的数据插入数据库,必须先将数组结构转换为可执…

    2025年12月13日
    000
  • php中二维数组怎么写入到数据库_php二维数组入库技巧【步骤】

    PHP批量写入二维数组到数据库有五种方法:一、拼接多行INSERT语句;二、PDO预处理循环执行;三、事务包裹确保原子性;四、LOAD DATA INFILE高速导入CSV;五、INSERT IGNORE或ON DUPLICATE KEY UPDATE处理冲突。 如果您需要将PHP中的二维数组批量写…

    2025年12月13日
    000
  • php导入时设置不同的编码

    答案:处理PHP文件导入时需解决编码不一致问题。1. 读取CSV时用mb_convert_encoding或iconv将GBK转UTF-8;2. 推荐使用iconv函数并添加IGNORE参数提升容错;3. 利用mb_detect_encoding检测原始编码,再针对性转换;4. 处理Excel文件时…

    2025年12月13日
    000
  • Django导入PHP password_hash()用户密码的平滑迁移策略

    本文旨在提供一种将使用PHP `password_hash()`函数加密的旧系统用户密码,平滑迁移至Django新站点的实用教程。核心策略是引入一个临时的 `old_password` 字段来存储旧哈希,并通过自定义Django认证后端,在用户首次登录时利用 `bcrypt` 验证旧密码并将其升级为…

    2025年12月13日
    000
  • Django集成PHP password_hash()密码:用户平滑迁移策略

    本教程旨在解决将使用php `password_hash()`函数加密的用户密码迁移到django项目中的挑战。由于两种框架的密码哈希算法不兼容,直接导入会导致认证失败。文章将详细介绍一种实用的解决方案:通过在django用户模型中添加一个额外的字段来存储旧密码,并定制认证后端,实现在用户首次登录时…

    2025年12月13日
    000
  • php统计明细表源码怎么用_用php统计明细表源码教程

    答案:通过PHP连接数据库查询数据,构建HTML表格展示明细,添加分页控制显示数量,并支持导出CSV文件。具体步骤包括使用MySQLi或PDO连接数据库并执行SELECT语句获取数据;利用HTML的标签结构结合PHP循环输出每条记录,同时使用htmlspecialchars()防止XSS攻击;为提升…

    2025年12月13日
    000
  • php数据整理中如何把csv数据读成数组_php读取csv转数组与分隔符编码处理

    首先使用fgetcsv读取CSV文件并按指定分隔符解析为二维数组,若分隔符为分号或制表符需显式指定;其次检测文件编码(如GBK),通过mb_convert_encoding转换为UTF-8以避免中文乱码;对于小文件可采用file结合array_map与str_getcsv简化解析流程,注意处理BOM…

    2025年12月13日
    000
  • PHP中大型文件的高效读取与流式处理实践

    本文旨在探讨php处理大型文件时遇到的内存效率问题,并提供一种基于回调函数和流式处理的优化方案。通过逐行读取并即时处理数据,而非一次性加载全部内容到内存,该方法能显著降低资源消耗,特别适用于处理json格式的大型日志或数据文件,并实现高效的数据转换与导出,如转换为csv格式。 在PHP应用开发中,处…

    2025年12月12日
    000

发表回复

登录后才能评论
关注微信