码迷,mamicode.com
首页 > 其他好文 > 详细

Pandas-03-文件读取与存储

时间:2021-05-04 16:03:35      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:split   形式   文件中   lse   cat   nes   数据   array   load   

1. CSV

1.1. read_csv

  • pandas.read_csv(filepath_or_buffer, sep=‘,‘)

    • filepath_or_buffer:文件路径
    • usecols:列表,指定读取的列名
    # 读取文件,并指定只获取open和close这两列
    data = pd.read_csv("./data/stock_day.csv", usecols=[‘open‘, ‘close‘])
    

1.2. to_csv

  • DataFrame.to_csv(path_or_buf=None, sep=‘,‘, columns=None, header=True, index=True, mode=‘w‘, encoding=None)

    • path_or_buf:文件路径
    • sep:分隔符,默认用‘,‘分开
    • columns:选择需要的列索引
    • header:bool或字符串列表,是否保存列名,默认为 True ,保存
    • index:是否保存索引,默认为 True ,保存
    • mode:‘w‘ 重写,‘a‘ 追加
  • 举例:保存读取出来的股票数据

    • 保存‘open‘列的数据,然后读取查看结果
    data[:10].to_csv("./data/test.csv", columns=["open"], index="date")
    
    	date				open
    0	2015-03-02	12.25
    1	2015-03-03	12.52
    2	2015-03-04	12.80
    3	2015-03-05	12.88
    4	2015-03-06	13.17
    ...
    

    可以发现index单独成为了一列数据。如果需要删除,可以指定index参数为False

    data[:10].to_csv("./data/test2.csv", columns=["open"], index=False)
    
    	open
    0	12.25
    1	12.52
    2	12.80
    3	12.88
    ...
    

2. HDF5

2.1. read_hdf()与to_hdf()

HDF5文件的读取和存储需要指定一个键,值为要存储的DataFrame

  • pandas.read_hdf(path_or_buf, key=None, **kwargs)

    从h5文件中读取数据

    • path_or_buf:文件路径
    • key:读取的键
  • DataFrame.to_hdf(path_or_buf, key, **kwargs)

2.2. 案例

  • 读取文件

    pd.read_hdf("./data/day_close.h5")
    
  • 存储文件

    day_close.to_hdf("./data/day_close.h5", key="day_close")
    

    再次读取的时候需要指定键的名字

    pd.read_hdf("./data/day_close.h5", key="day_close")
    

    注意:优先选择使用HDF5文件存储

    • HDF5在存储时支持压缩,使用的方式是blosc,这个是速度最快也是pandas默认支持的
    • 使用压缩可以提高磁盘利用率,节省空间
    • HDF5还是跨平台的,可以轻松迁移到hadoop上

3. JSON

3.1. read_json()

  • pandas.read_json(path_or_buf=None, orient=None, typ=‘frame‘, lines=False)

    • 作用:将JSON格式转换成默认的Pandas DataFrame格式

    • orient:string, Indication of expected JSON string format.字符串,表示预期的JSON字符串格式。

      • ‘split‘: dict like {index -> [index], columns -> [columns], data -> [data]}

        split将索引总结到索引,列名到列名,数据到数据。

      • ‘records‘: list like [{column -> value}, ..., {column -> value}]

        records以columns:values的形式输出

      • ‘index‘: dict like {column -> {index -> value}}, 默认输出该格式

        index以column:{index:value}的形式输出

      • ‘values‘: just the values array

        values直接输出值

    • lines: boolean, default False

      按照每行读取json对象

    • typ: default ‘frame‘,指定转换成的对象类型series或者dataframe

  • 读取

    read = pd.read_json("./data/Sarcasm_Headlines_Dataset.json", orient="records", lines=True)
    

    技术图片

3.2. to_json()

  • DataFrame.to_json(path_or_buf=None, orient=None, lines=False)

    • 将Pandas对象存储为json格式
  • 案例

    read.to_json("./data/test.json", orient=‘records‘)
    

Pandas-03-文件读取与存储

标签:split   形式   文件中   lse   cat   nes   数据   array   load   

原文地址:https://www.cnblogs.com/fade-color/p/14725721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!