【机器学习】数据格式csv/txt/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 pickle
      
      with 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 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')
    

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


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

created by shuaixio, 2023.10.03

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值