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

【机器学习】数据格式csv/txt/pkl

文章目录

      • 序言
      • 1. 数据存成csv、txt还是pkl
      • 2. pandas怎么读取csv、txt文件或者pkl文件
      • 3. 数据格式:pkl文件补充介绍

序言

  • 用什么格式存储场景挖掘得到的数据
  • 目前为止用到过的一些数据存储格式,如proto/xml/json/txt/csv等,还有pkl,哪种比较适合数据集存储呢

1. 数据存成csv、txt还是pkl

  • csv和txt都是文本文件,pkl是二进制文件

    • csv

      • 数据量小的话,推荐将数据存成csv,以逗号分隔的文本文件,可直接更改后缀为其他文件
      • csv可在其他语言如python/matlab/R/excel中自由切换,数据格式不受损
    • txt

      • txt的优势是体积小,便于存储,一般以空格为分隔符
    • pkl

      • 如果数据量大、内存吃紧,而且访问的时候要按照batch访问硬盘,读取效率最高的是pkl
      • pkl还能直接保存成tensor,节省了读取后转成tensor的时间,避免了数据二次处理
    • 当然还有其他的一些格式npy等

  • 读取效率排序:pkl > npy > csv

2. pandas怎么读取csv、txt文件或者pkl文件

  • pandas是数据处理必不可少的库

    • 读取csv:常用的两个函数:pandas.read_csv 和 pandas.to_csv

      data=pd.read_csv('./mydata.csv')		# 读取csv格式文件
      data.to_csv('./my_new_data.csv')		# 生成csv格式文件
      
    • 读取txt:pandas在读取txt时,read_csv和read_table均可使用

      data =  pd.read_table("./mydatat.txt")				# 调用read_table函数读取txt文件
      df =  pd.read_csv("./my_new_data.txt",sep=',')		# 调用read_csv函数读取txt文件
      
    • 读取pkl

      data.to_pickle(filePath)		# pandas, 文件保存
      data.read_pickle(filePath)		# pandas, 文件读取import picklewith open(filePath, 'wb') as f:pickle.dump(data, f)		# pickle模块,文件保存with open(filePath, 'rb') as f:data = pickle.load(fp)		# pickle模块,文件读取
      

3. 数据格式:pkl文件补充介绍

  • pkl是指使用pyhton的pickle模块生成的二进制文件,用于将对象序列化到磁盘上,可以存储为.pkl文件。即pkl能提供一种简单有效的方法来序列化或者反序列化python对象,使其易于存储传输和共享

  • pkl可以将python项目中过程变量如字符串、列表、字典等数据保存起来,pkl甚至能保存模型,下次接着训练

  • pkl转csv

    import pickle as pkl
    import pandas as pdwith open(r'data.pkl', "rb") as f:object = pkl.load(f,encoding='latin1')
    df = pd.DataFrame(object)df.to_csv(r'Data.csv')object =pkl.load(f,encoding='latin1')
    

    容易在encoding处报错,可以根据实际pkl的编码规则更改为encoding=‘utf-8’


【参考文章】
数据保存成csv/txt/pkl文件
pkl文件介绍
保存和读取pkl文件
pkl格式文件
读取生成csv/txt

created by shuaixio, 2023.10.03

http://www.lryc.cn/news/185555.html

相关文章:

  • unity脚本_Input鼠标键盘 c#
  • 解析‘找不到msvcp140.dll无法继续执行代码’这个问题的解决方法
  • 练[FBCTF2019]RCEService
  • php实战案例记录(21)sprintf函数
  • 【数据结构-二叉树 九】【树的子结构】:树的子结构
  • 七张图解锁Mybatis整体脉络,让你轻松拿捏面试官
  • 力扣之删除有序数组中的重复项
  • pnpm、npm、yarn 包管理工具『优劣对比』及『环境迁移』
  • 【AntDesign】多环境配置和启动
  • Unix Network Programming Episode 78
  • 学习笔记(css穿透、vue-cookie、拦截器、vuex、导航守卫、token/Cookie、正则校验)
  • Day4:Linux系统编程1-60P
  • 【HuggingFace】Transformers(V4.34.0 稳定)支持的模型
  • oracle 导入数据泵常用语句
  • tensorflow中的常见方法
  • 【周末闲谈】“PHP是最好的语言”这个梗是怎么来的?
  • 四位十进制数字频率计VHDL,仿真视频、代码
  • Unity实现设计模式——策略模式
  • C++基础——数据类型
  • 文本自动输入/删除的加载动画效果
  • PHP8的匿名类-PHP8知识详解
  • WebKit Inside: CSS 样式表的匹配时机
  • <HarmonyOS第一课>从简单的页面开始——闯关习题及答案
  • 视频下载plus+:一款强大的视频下载小程序
  • 扭线机控制
  • Android App启动优化之启动框架
  • zookeeper入门篇之分布式锁
  • leetcode解题思路分析(一百四十九)1297 - 1304 题
  • 你的librosa和scikit-learn打架了吗?
  • 理解自动驾驶感知技术