机器学习常用包pandas篇(一)pandas·数据读取

目录

前言

1. 文本文件

2. 二进制文件

3. 数据库交互

4. 其他格式

5. 性能优化与注意事项5

推荐场景


前言

Pandas 提供了丰富的输入/输出接口,支持多种数据格式的读写操作。内容来源为Pandas I/O 官方文档章节输入/输出 — pandas 2.2.3 文档 --- Input/output — pandas 2.2.3 documentation

以下是核心功能的分类整理。


1. 文本文件
  • CSV/TSV

    • 读取:

      pd.read_csv(filepath, sep=',', header='infer', index_col=None, dtype=None, parse_dates=False)
      • 关键参数: sep(分隔符)、header(标题行)、index_col(索引列)、na_values(缺失值标识)、encoding(编码)。

    • 写入:

      df.to_csv(path, index=True, sep=',', header=True)
  • JSON

    • 读取

      pd.read_json(path, orient='columns', lines=False)
      • 支持格式: 列式 (columns)、记录式 (records)、分块式 (split)。

    • 写入

      df.to_json(path, orient='columns', lines=False)
  • HTML

    • 读取表格

      pd.read_html(io, match='.+', flavor='lxml')
      • 从 HTML 页面提取所有表格(返回 DataFrame 列表)。

  • Markdown/LaTeX

    • 导出

      df.to_markdown(), df.to_latex()

2. 二进制文件
  • Excel

    • 读取:

      pd.read_excel(io, sheet_name=0, header=0, index_col=None)
      • 支持 .xls.xlsx(依赖 openpyxl 或 xlrd 库)。

    • 写入:

      df.to_excel(excel_writer, sheet_name='Sheet1', index=True)
  • HDF5

    • 读取/写入pd.HDFStore 类

      • 高效存储大型数据集,支持压缩和查询。

      • 示例:

        with pd.HDFStore('data.h5') as store:  
            store.put('dataset', df)  
            df = store.get('dataset') 
  • Parquet/Feather

    • 读取

      pd.read_parquet(path), pd.read_feather(path)
    • 写入

      df.to_parquet(path), df.to_feather(path)
    • 高性能列式存储,适合大数据集(需安装 pyarrow 或 fastparquet)。

  • Stata/SAS/SPSS

    • 读取:

       pd.read_stata(), pd.read_sas(), pd.read_spss()
    • 写入

      df.to_stata()

3. 数据库交互
  • SQL

    • 读取:

      pd.read_sql(query, con)
    • 写入

      df.to_sql(name, con, if_exists='fail', index=False)
      • 依赖 SQLAlchemy 连接数据库(如 MySQL、PostgreSQL)。

  • Google BigQuery

    • 读取

      pd.read_gbq(query, project_id)


4. 其他格式
  • 剪贴板

    • 读取/写入

      pd.read_clipboard(), df.to_clipboard()
  • Pickle

    • 序列化

      df.to_pickle(path), pd.read_pickle(path)
      • 保存 DataFrame 的完整状态(含索引和数据类型)。

  • Web API

    • 读取 JSON API

      pd.read_json(url)
    • 读取 XML

      pd.read_xml(url)

5. 性能优化与注意事项5
  • 数据类型优化:

    • 使用 dtype 参数指定列类型(如 {'col1': 'int32'})以减少内存占用。

  • 分块读取大文件:

    • pd.read_csv(..., chunksize=1000) 分块处理避免内存溢出。

  • 缺失值处理:

    • 通过 na_values 自定义缺失值标识符。

  • 时间解析:

    • 设置 parse_dates=True 或指定 date_parser 函数解析日期列。


推荐场景
  • 小规模数据: CSV/Excel(易读性优先)。

  • 大规模数据: Parquet/Feather(读写速度快,压缩率高)。

  • 跨平台存储: HDF5(支持复杂查询和压缩)。

  • 数据库交互: SQL + SQLAlchemy(结构化查询)。

通过灵活选择 I/O 方法,可以高效处理不同规模和格式的数据任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值