欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 机器学习常用包pandas篇(一)pandas·数据读取

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

2025/2/22 16:40:20 来源:https://blog.csdn.net/2301_79144343/article/details/145461501  浏览:    关键词:机器学习常用包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 方法,可以高效处理不同规模和格式的数据任务。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词