python 数据保存格式的选择

编程入门 行业动态 更新时间:2024-10-25 13:16:52

python 数据保存<a href=https://www.elefans.com/category/jswz/34/1771175.html style=格式的选择"/>

python 数据保存格式的选择

今天发现一个问题,就是有一个数据,很长,几百个被试的fmri数据,有10M+行,使用pandas.to_csv占用的时间特别长,写了20分钟还没写完。于是上网寻找更快的数据保存方式。

  1. HDF5
    网上首推的是h5为后缀的格式,这个是fmriprep使用的格式。这个的好处在于,对于很长不宽的数据(很多行,列不多),10M+,写入的速度是to_csv的二十几倍。坏处在于需要读取后进一步转换成data.frame和csv,并且保存为h5的数据size会变大,其利用磁盘空间代替来提升速度。推荐使用的场景是大数据(1G+)的长数据。
stage.to_hdf(r'path/file.h5', key='stage', mode='w')
  1. tsv和csv
    tsv和csv的速度差不多,两者差不多,区别在于tsv能解决数据中字符串带有逗号(‘,’)的问题,因为csv是基于逗号分隔,会额外分割数据。
  2. csv和txt
    两者速度差不太多。
  3. 优化csv - pyarrow
    pyarrow 能优化to csv的速度,大概是快8x
import pyarrow as pa
import pyarrow.csv as csv
df = pandas.DataFrame(xxxxxx)
new_df = pa.Table.from_pandas(df)
new_df_name = 'Downloads/data/results'
csv.write_csv(new_df, new_df_name) # 不需要加其他参数,自动带header 和没有index

最后还是强烈推荐使用 pyarrow。

更多推荐

python 数据保存格式的选择

本文发布于:2023-12-03 12:28:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1655356.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:格式   数据   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!