码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【机器学习】数据格式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格式文件
        
        • 1
        • 2
      • 读取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文件
        
        • 1
        • 2
      • 读取pkl:

        data.to_pickle(filePath)		# pandas, 文件保存
        data.read_pickle(filePath)		# pandas, 文件读取
        
        import pickle
        
        with open(filePath, 'wb') as f:
        	pickle.dump(data, f)		# pickle模块,文件保存
        
        with open(filePath, 'rb') as f:
        	data = pickle.load(fp)		# pickle模块,文件读取
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10

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

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

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

    • pkl转csv

      import pickle as pkl
      import pandas as pd
       
      with 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')
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

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


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

    created by shuaixio, 2023.10.03

  • 相关阅读:
    ARMv8-AArch64 的异常处理模型详解之异常处理详解(同步异常和异步异常的分析和处理)
    Spring突击复习第二天
    【Linux】FTP安装部署及配置用户
    C语言程序的编译(预处理) —— 下
    重构技战术(一)——通用型重构技巧
    微商这样做软文营销,效果提升70%
    CSS样式怎么实现圆角矩形功能
    怎样优雅地增删查改(七):按用户查询
    混合策略改进的蝴蝶优化算法-附代码
    电脑系统重装后如何开启Win11实时辅助字幕
  • 原文地址:https://blog.csdn.net/baidu_35692628/article/details/133498006
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号