【机器学习】数据格式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 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

你可能感兴趣的:(机器学习,数据集,数据格式,csv/txt/pkl,pickle)