Pandas 2.2 中文文档(二十六)

原文:pandas.pydata.org/docs/

API 参考

原文:pandas.pydata.org/docs/reference/index.html

此页面概述了所有公开的 pandas 对象、函数和方法。pandas.* 命名空间中公开的所有类和函数都是公开的。

以下子包是公开的。

  • pandas.errors:由 pandas 引发的自定义异常和警告类。

  • pandas.plotting:绘图公共 API。

  • pandas.testing:用于编写涉及 pandas 对象的测试的函数。

  • pandas.api.extensions:用于扩展 pandas 对象的函数和类。

  • pandas.api.indexers:滚动窗口索引器的函数和类。

  • pandas.api.interchange:DataFrame 互换协议。

  • pandas.api.types:数据类型类和函数。

  • pandas.api.typing:可能需要用于类型提示的类。这些是用户遇到的中间结果类,但不应由用户直接实例化。不要将这些类与 pandas-stubs 包中的类混淆,后者除了 pandas 中出现的类外还包含用于类型提示的类。

此外,文档中还提到了 pandas.iopandas.tseries 子模块中的公共函数。

警告

pandas.corepandas.compatpandas.util 顶级模块是私有的。不保证此类模块中的稳定功能。

  • 输入/输出

    • 序列化

    • 平面文件

    • 剪贴板

    • Excel

    • JSON

    • HTML

    • XML

    • Latex

    • HDFStore: PyTables (HDF5)

    • 羽毛

    • Parquet

    • ORC

    • SAS

    • SPSS

    • SQL

    • Google BigQuery

    • STATA

  • 常用函数

    • 数据操作

    • 顶级缺失数据

    • 顶级处理数值数据

    • 顶级处理日期时间数据

    • 顶级处理区间数据

    • 顶级评估

    • 日期时间格式

    • 散列

    • 从其他 DataFrame 库导入

  • 系列

    • 构造函数

    • 属性

    • 转换

    • 索引、迭代

    • 二元运算符函数

    • 函数应用、GroupBy 和窗口

    • 计算/描述性统计

    • 重新索引/选择/标签操作

    • 缺失数据处理

    • 重塑、排序

    • 组合/比较/连接/合并

    • 与时间序列相关

    • 访问器

    • 绘图

    • 序列化/IO/转换

  • 数据帧

    • 构造函数

    • 属性和底层数据

    • 转换

    • 索引、迭代

    • 二进制运算函数

    • 函数应用、GroupBy 和窗口

    • 计算/描述性统计

    • 重新索引/选择/标签操作

    • 缺失数据处理

    • 重塑、排序、转置

    • 组合/比较/连接/合并

    • 与时间序列相关

    • 标志

    • 元数据

    • 绘图

    • 稀疏访问器

    • 序列化/IO/转换

  • pandas 数组、标量和数据类型

    • 对象

    • 实用工具

  • 索引对象

    • 索引

    • 数值索引

    • 分类索引

    • 区间索引

    • MultiIndex

    • DatetimeIndex

    • TimedeltaIndex

    • PeriodIndex

  • 日期偏移

    • 日期偏移

    • 工作日

    • BusinessHour

    • CustomBusinessDay

    • CustomBusinessHour

    • MonthEnd

    • MonthBegin

    • BusinessMonthEnd

    • BusinessMonthBegin

    • CustomBusinessMonthEnd

    • CustomBusinessMonthBegin

    • SemiMonthEnd

    • SemiMonthBegin

    • Week

    • WeekOfMonth

    • LastWeekOfMonth

    • BQuarterEnd

    • BQuarterBegin

    • QuarterEnd

    • QuarterBegin

    • BYearEnd

    • BYearBegin

    • YearEnd

    • YearBegin

    • FY5253

    • FY5253Quarter

    • Easter

    • Tick

    • Day

    • Hour

    • Minute

    • Second

    • Milli

    • Micro

    • Nano

  • 频率

    • pandas.tseries.frequencies.to_offset
  • 窗口

    • 滚动窗口函数

    • 加权窗口函数

    • 扩展窗口函数

    • 指数加权窗口函数

    • 窗口索引器

  • GroupBy

    • 索引,迭代

    • 函数应用助手

    • 函数应用

    • DataFrameGroupBy 计算 / 描述统计

    • SeriesGroupBy 计算 / 描述统计

    • 绘图和可视化

  • 重新采样

    • 索引,迭代

    • 函数应用

    • 上采样

    • 计算 / 描述统计

  • 样式

    • Styler 构造函数

    • Styler 属性

    • 样式应用

    • 内置样式

    • 样式导出和导入

  • 绘图

    • pandas.plotting.andrews_curves

    • pandas.plotting.autocorrelation_plot

    • pandas.plotting.bootstrap_plot

    • pandas.plotting.boxplot

    • pandas.plotting.deregister_matplotlib_converters

    • pandas.plotting.lag_plot

    • pandas.plotting.parallel_coordinates

    • pandas.plotting.plot_params

    • pandas.plotting.radviz

    • pandas.plotting.register_matplotlib_converters

    • pandas.plotting.scatter_matrix

    • pandas.plotting.table

  • 选项和设置

    • 处理选项

    • 数字格式化

  • 扩展

    • pandas.api.extensions.register_extension_dtype

    • pandas.api.extensions.register_dataframe_accessor

    • pandas.api.extensions.register_series_accessor

    • pandas.api.extensions.register_index_accessor

    • pandas.api.extensions.ExtensionDtype

    • pandas.api.extensions.ExtensionArray

    • pandas.arrays.NumpyExtensionArray

    • pandas.api.indexers.check_array_indexer

  • 测试

    • 断言函数

    • 异常和警告

    • 错误报告函数

    • 测试套件运行器

  • 缺失值

    • pandas.NA

    • pandas.NaT

输入/输出

原文:pandas.pydata.org/docs/reference/io.html

Pickling

read_pickle(filepath_or_buffer[, …])从文件中加载经过 pickling 的 pandas 对象(或任何对象)。
DataFrame.to_pickle(path, *[, compression, …])将对象 pickling(序列化)到文件。

平面文件

read_table(filepath_or_buffer, *[, sep, …])将通用分隔文件读入 DataFrame。
read_csv(filepath_or_buffer, *[, sep, …])将逗号分隔值(csv)文件读入 DataFrame。
DataFrame.to_csv([path_or_buf, sep, na_rep, …])将对象写入逗号分隔值(csv)文件。
read_fwf(filepath_or_buffer, *[, colspecs, …])将固定宽度格式的表格行读入 DataFrame。

剪贴板

read_clipboard([sep, dtype_backend])从剪贴板读取文本并传递给read_csv()
DataFrame.to_clipboard(*[, excel, sep])将对象复制到系统剪贴板。

Excel

read_excel(io[, sheet_name, header, names, …])将 Excel 文件读入pandas DataFrame
DataFrame.to_excel(excel_writer, *[, …])将对象写入 Excel 表格。
ExcelFile(path_or_buffer[, engine, …])用于将表格化的 Excel 表格解析为 DataFrame 对象的类。
ExcelFile.book
ExcelFile.sheet_names
ExcelFile.parse([sheet_name, header, names, …])将指定的工作表解析为 DataFrame。
Styler.to_excel(excel_writer[, sheet_name, …])将 Styler 写入 Excel 表格。
ExcelWriter(path[, engine, date_format, …])用于将 DataFrame 对象写入 Excel 表格的类。

JSON

read_json(path_or_buf, *[, orient, typ, …])将 JSON 字符串转换为 pandas 对象。
json_normalize(data[, record_path, meta, …])将半结构化的 JSON 数据规范化为平面表格。
DataFrame.to_json([path_or_buf, orient, …])将对象转换为 JSON 字符串。
build_table_schema(data[, index, …])data 创建表模式。

HTML

read_html(io, *[, match, flavor, header, …])将 HTML 表格读取为 DataFrame 对象的 list
DataFrame.to_html([buf, columns, col_space, …])将 DataFrame 渲染为 HTML 表格。
Styler.to_html([buf, table_uuid, …])将 Styler 写入文件、缓冲区或以 HTML-CSS 格式的字符串。

XML

read_xml(path_or_buffer, *[, xpath, …])将 XML 文档读取为 DataFrame 对象。
DataFrame.to_xml([path_or_buffer, index, …])将 DataFrame 渲染为 XML 文档。

Latex

DataFrame.to_latex([buf, columns, header, …])将对象渲染为 LaTeX 表格、长表格或嵌套表格。
Styler.to_latex([buf, column_format, …])将 Styler 写入文件、缓冲区或以 LaTeX 格式的字符串。

HDFStore: PyTables (HDF5)

read_hdf(path_or_buf[, key, mode, errors, …])从存储中读取,如果打开则关闭。
HDFStore.put(key, value[, format, index, …])将对象存储在 HDFStore 中。
HDFStore.append(key, value[, format, axes, …])在文件中的表格中追加。
HDFStore.get(key)从文件中检索存储的 pandas 对象。
HDFStore.select(key[, where, start, stop, …])检索存储在文件中的 pandas 对象,可选地基于 where 条件。
HDFStore.info()打印存储的详细信息。
HDFStore.keys([include])返回与 HDFStore 中存储的对象对应的键列表。
HDFStore.groups()返回所有顶级节点的列表。
HDFStore.walk([where])遍历 pandas 对象的 pytables 组层次结构。

警告

可以将 DataFrameSeries 的子类存储到 HDF5,但子类的类型在存储时会丢失。

Feather

read_feather(path[, columns, use_threads, …])从文件路径加载 feather 格式对象。
DataFrame.to_feather(path, **kwargs)将 DataFrame 写入二进制 Feather 格式。

Parquet

read_parquet(path[, engine, columns, …])从文件路径加载 parquet 对象,返回一个 DataFrame。
DataFrame.to_parquet([path, engine, …])将 DataFrame 写入二进制 parquet 格式。

ORC

read_orc(path[, columns, dtype_backend, …])从文件路径加载 ORC 对象,返回一个 DataFrame。
DataFrame.to_orc([path, engine, index, …])将 DataFrame 写入 ORC 格式。

SAS

read_sas(filepath_or_buffer, *[, format, …])读取存储为 XPORT 或 SAS7BDAT 格式文件的 SAS 文件。

SPSS

read_spss(path[, usecols, …])从文件路径加载 SPSS 文件,返回一个 DataFrame。

SQL

read_sql_table(table_name, con[, schema, …])将 SQL 数据库表读取为 DataFrame。
read_sql_query(sql, con[, index_col, …])将 SQL 查询读取为 DataFrame。
read_sql(sql, con[, index_col, …])将 SQL 查询或数据库表读取到 DataFrame 中。
DataFrame.to_sql(name, con, *[, schema, …])将存储在 DataFrame 中的记录写入 SQL 数据库。

谷歌大查询

read_gbq(query[, project_id, index_col, …])(已弃用)从谷歌大查询加载数据。

STATA

read_stata(filepath_or_buffer, *[, …])将 Stata 文件读取到 DataFrame 中。
DataFrame.to_stata(path, *[, convert_dates, …])将 DataFrame 对象导出为 Stata dta 格式。
StataReader.data_label返回 Stata 文件的数据标签。
StataReader.value_labels()返回一个嵌套字典,将每个变量名与其值和标签关联。
StataReader.variable_labels()返回一个将每个变量名与相应标签关联的字典。
StataWriter.write_file()将 DataFrame 对象导出为 Stata dta 格式。

Pickling

read_pickle(filepath_or_buffer[, …])从文件中加载经过 Pickle 处理的 pandas 对象(或任何对象)。
DataFrame.to_pickle(path, *[, compression, …])将对象序列化(Pickle)到文件。

平面文件

read_table(filepath_or_buffer, *[, sep, …])将通用分隔文件读取到 DataFrame 中。
read_csv(filepath_or_buffer, *[, sep, …])将逗号分隔值(csv)文件读取到 DataFrame 中。
DataFrame.to_csv([path_or_buf, sep, na_rep, …])将对象写入逗号分隔值(csv)文件。
read_fwf(filepath_or_buffer, *[, colspecs, …])将固定宽度格式行的表读取到 DataFrame 中。

剪贴板

read_clipboard([sep, dtype_backend])从剪贴板读取文本并传递给 read_csv()
DataFrame.to_clipboard(*[, excel, sep])将对象复制到系统剪贴板。

Excel

read_excel(io[, sheet_name, header, names, …])将 Excel 文件读取为 pandas DataFrame
DataFrame.to_excel(excel_writer, *[, …])将对象写入 Excel 表格。
ExcelFile(path_or_buffer[, engine, …])用于将表格形式的 Excel 表格解析为 DataFrame 对象的类。
ExcelFile.book
ExcelFile.sheet_names
ExcelFile.parse([sheet_name, header, names, …])将指定的工作表解析为 DataFrame。
Styler.to_excel(excel_writer[, sheet_name, …])将 Styler 写入 Excel 表格。
ExcelWriter(path[, engine, date_format, …])用于将 DataFrame 对象写入 Excel 表格的类。

JSON

read_json(path_or_buf, *[, orient, typ, …])将 JSON 字符串转换为 pandas 对象。
json_normalize(data[, record_path, meta, …])将半结构化的 JSON 数据规范化为平面表。
DataFrame.to_json将对象转换为 JSON 字符串。
build_table_schema(data[, index, …])data 创建一个表模式。

HTML

read_html(io, *[, match, flavor, header, …])将 HTML 表格读取为 DataFrame 对象的 list
DataFrame.to_html([buf, columns, col_space, …])将 DataFrame 渲染为 HTML 表格。
Styler.to_html([buf, table_uuid, …])将 Styler 写入文件、缓冲��或字符串,格式为 HTML-CSS。

XML

read_xml(path_or_buffer, *[, xpath, …])将 XML 文档读取为DataFrame对象。
DataFrame.to_xml([path_or_buffer, index, …])将 DataFrame 呈现为 XML 文档。

Latex

DataFrame.to_latex([buf, columns, header, …])将对象呈现为 LaTeX 表格、长表格或嵌套表格。
Styler.to_latex([buf, column_format, …])将 Styler 写入文件、缓冲区或字符串,格式为 LaTeX。

HDFStore: PyTables (HDF5)

read_hdf(path_or_buf[, key, mode, errors, …])从存储中读取数据,如果打开了存储,则关闭它。
HDFStore.put(key, value[, format, index, …])将对象存储在 HDFStore 中。
HDFStore.append(key, value[, format, axes, …])追加到文件中的表格。
HDFStore.get(key)检索存储在文件中的 pandas 对象。
HDFStore.select(key[, where, start, stop, …])检索存储在文件中的 pandas 对象,可选地基于 where 条件。
HDFStore.info()打印存储的详细信息。
HDFStore.keys([include])返回存储在 HDFStore 中的对象对应的键列表。
HDFStore.groups()返回所有顶级节点的列表。
HDFStore.walk([where])遍历 pytables 组层次结构以查找 pandas 对象。

警告

可以将DataFrameSeries的子类存储到 HDF5 中,但子类的类型在存储时会丢失。

Feather

read_feather(path[, columns, use_threads, …])从文件路径加载 feather 格式对象。
DataFrame.to_feather(path, **kwargs)将 DataFrame 写入二进制 Feather 格式。

Parquet

read_parquet(path[, engine, columns, …])从文件路径加载 parquet 对象,返回一个 DataFrame。
DataFrame.to_parquet([path, engine, …])将 DataFrame 写入二进制 parquet 格式。

ORC

read_orc(path[, columns, dtype_backend, …])从文件路径加载 ORC 对象,返回一个 DataFrame。
DataFrame.to_orc([path, engine, index, …])将 DataFrame 写入 ORC 格式。

SAS

read_sas(filepath_or_buffer, *[, format, …])读取存储为 XPORT 或 SAS7BDAT 格式文件的 SAS 文件。

SPSS

read_spss(path[, usecols, …])从文件路径加载 SPSS 文件,返回一个 DataFrame。

SQL

read_sql_table(table_name, con[, schema, …])将 SQL 数据库表读取为 DataFrame。
read_sql_query(sql, con[, index_col, …])将 SQL 查询读取为 DataFrame。
read_sql(sql, con[, index_col, …])将 SQL 查询或数据库表读取为 DataFrame。
DataFrame.to_sql(name, con, *[, schema, …])将存储在 DataFrame 中的记录写入 SQL 数据库。

Google BigQuery

read_gbq(query[, project_id, index_col, …])(已弃用) 从 Google BigQuery 加载数据。

STATA

read_stata(filepath_or_buffer, *[, …])将 Stata 文件读取为 DataFrame。
DataFrame.to_stata(path, *[, convert_dates, …])将 DataFrame 对象导出为 Stata dta 格式。
StataReader.data_label返回 Stata 文件的数据标签。
StataReader.value_labels()返回一个嵌套字典,将每个变量名与其值和标签关联起来。
StataReader.variable_labels()返回一个将每个变量名与相应标签关联起来的字典。
StataWriter.write_file()将 DataFrame 对象导出为 Stata dta 格式。

pandas.read_pickle

原文:pandas.pydata.org/docs/reference/api/pandas.read_pickle.html

pandas.read_pickle(filepath_or_buffer, compression='infer', storage_options=None)

从文件加载腌制的 pandas 对象(或任何对象)。

警告

从不受信任的来源加载腌制数据可能不安全。请参见这里

参数:

filepath_or_bufferstr、路径对象或类文件对象

字符串、路径对象(实现 os.PathLike[str])或实现二进制 readlines() 函数的类文件对象。也接受 URL。URL 不限于 S3 和 GCS。

compressionstr 或 dict,默认为 ‘infer’

用于在磁盘数据上进行即时解压缩。如果 ‘infer’ 并且 ‘filepath_or_buffer’ 是类似路径的对象,则从以下扩展名检测压缩:‘.gz’、‘.bz2’、‘.zip’、‘.xz’、‘.zst’、‘.tar’、‘.tar.gz’、‘.tar.xz’ 或 ‘.tar.bz2’(否则不压缩)。如果使用 'zip''tar',ZIP 文件必须只包含一个要读取的数据文件。设置为 None 以不进行解压缩。也可以是一个字典,其中键 'method' 设置为其中之一 {'zip''gzip''bz2''zstd''xz''tar'},其他键值对将转发到 zipfile.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdDecompressorlzma.LZMAFiletarfile.TarFile。例如,以下内容可用于通过自定义压缩字典进行 Zstandard 解压缩:compression={'method': 'zstd', 'dict_data': my_compression_dict}

1.5.0 版本新增:增加了对 .tar 文件的支持。

1.4.0 版本更改:增加了 Zstandard 支持。

storage_optionsdict,可选

适用于特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发到 urllib.request.Request。对于其他 URL(例如以 “s3://” 和 “gcs://” 开头的 URL),键值对将转发到 fsspec.open。请参阅 fsspecurllib 了解更多详细信息,并查看有关存储选项的更多示例,请参考这里

返回:

与文件中存储的对象相同类型

另请参阅

DataFrame.to_pickle

将 DataFrame 对象腌制(序列化)到文件。

Series.to_pickle

将 Series 对象腌制(序列化)到文件。

read_hdf

读取 HDF5 文件到 DataFrame。

read_sql

读取 SQL 查询或数据库表到 DataFrame。

read_parquet

加载 parquet 对象,返回一个 DataFrame。

注意事项

read_pickle 仅在对象使用 to_pickle 序列化时才保证向后兼容到 pandas 0.20.3。

示例

>>> original_df = pd.DataFrame(
...     {"foo": range(5), "bar": range(5, 10)}
...    )  
>>> original_df  
 foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
>>> pd.to_pickle(original_df, "./dummy.pkl") 
>>> unpickled_df = pd.read_pickle("./dummy.pkl")  
>>> unpickled_df  
 foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9 

pandas.DataFrame.to_pickle

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_pickle.html

DataFrame.to_pickle(path, *, compression='infer', protocol=5, storage_options=None)

将对象序列化为文件。

参数:

pathstr, path object, or file-like object

字符串、路径对象(实现了os.PathLike[str])或实现了二进制write()函数的文件对象。要存储 pickled 对象的文件路径。

compressionstr or dict, default ‘infer’

用于输出数据的即时压缩。如果是’infer’并且’path’是路径形式的,则从以下扩展名检测压缩:‘.gz’、‘.bz2’、‘.zip’、‘.xz’、‘.zst’、‘.tar’、‘.tar.gz’、‘.tar.xz’或’.tar.bz2’(否则不压缩)。设置为None以不压缩。也可以是一个字典,其中键'method'设置为其中一个{'zip''gzip''bz2''zstd''xz''tar'},其他键值对将转发到zipfile.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdCompressorlzma.LZMAFiletarfile.TarFile。例如,可以传递以下内容以进行更快的压缩并创建可重现的 gzip 存档:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}

1.5.0 版本新增支持.tar 文件。

protocolint

指示 pickler 应使用的协议,默认为 HIGHEST_PROTOCOL(参见[1]第 12.1.2 段)。可能的值为 0、1、2、3、4、5。将协议参数设置为负值等效于将其值设置为 HIGHEST_PROTOCOL。

[1]

docs.python.org/3/library/pickle.html.

storage_optionsdict, optional

特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发到urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头的 URL),键值对将转发到fsspec.open。请参阅fsspecurllib获取更多详情,并参考这里中有关存储选项的更多示例。

另请参阅

read_pickle

从文件中加载 pickle 的 pandas 对象(或任何对象)。

DataFrame.to_hdf

将 DataFrame 写入 HDF5 文件。

DataFrame.to_sql

将 DataFrame 写入 SQL 数据库。

DataFrame.to_parquet

将 DataFrame 写入二进制 Parquet 格式。

示例

>>> original_df = pd.DataFrame({"foo": range(5), "bar": range(5, 10)})  
>>> original_df  
 foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9
>>> original_df.to_pickle("./dummy.pkl") 
>>> unpickled_df = pd.read_pickle("./dummy.pkl")  
>>> unpickled_df  
 foo  bar
0    0    5
1    1    6
2    2    7
3    3    8
4    4    9 

pandas.read_table

原文:pandas.pydata.org/docs/reference/api/pandas.read_table.html

pandas.read_table(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=_NoDefault.no_default, skip_blank_lines=True, parse_dates=False, infer_datetime_format=_NoDefault.no_default, keep_date_col=_NoDefault.no_default, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=_NoDefault.no_default, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)

将通用分隔文件读入 DataFrame。

还支持可选地迭代或将文件分成块。

额外的帮助可以在IO 工具的在线文档中找到。

参数:

filepath_or_bufferstr,路径对象或类文件对象

任何有效的字符串路径都可以接受。字符串可以是 URL。有效的 URL 方案包括 http、ftp、s3、gs 和 file。对于文件 URL,期望有一个主机。本地文件可以是:file://localhost/path/to/table.csv。

如果要传递路径对象,pandas 接受任何os.PathLike

通过类文件对象,我们指的是具有read()方法的对象,例如文件句柄(例如通过内置的open函数)或StringIO

sepstr,默认为‘\t’(制表符)

要视为分隔符的字符或正则表达式模式。如果sep=None,则 C 引擎无法自动检测分隔符,但 Python 解析引擎可以,这意味着将使用后者,并且 Python 的内置嗅探工具csv.Sniffer将仅从文件的第一行自动检测分隔符。此外,长度大于 1 个字符且不同于'\s+'的分隔符将被解释为正则表达式,并且还将强制使用 Python 解析引擎。请注意,正则表达式分隔符容易忽略带引号的数据。正则表达式示例:'\r\t'

delimiterstr,可选

sep的别名。

headerint,int 序列,‘infer’或 None,默认为‘infer’

包含列标签并标记数据起始位置的行号(从零开始索引)。默认行为是推断列名:如果没有传递names,则行为与header=0相同,并且列名从文件的第一行推断出来;如果列名明确传递给names,则行为与header=None相同。显式传递header=0以替换现有名称。标题可以是指定列的MultiIndex的行位置的整数列表,例如[0, 1, 3]。未指定的中间行将被跳过(例如,在此示例中跳过了 2)。请注意,如果skip_blank_lines=True,此参数将忽略注释行和空行,因此header=0表示数据的第一行而不是文件的第一行。

namesHashable 序列,可选

要应用的列标签序列。如果文件包含标题行,则应明确传递header=0以覆盖列名。此列表中不允许重复项。

index_colHashable,Hashable 序列或 False,可选

作为行标签使用的列,标记为列标签或列索引。如果给出一系列标签或索引,将为行标签形成 MultiIndex

注意:index_col=False 可以用来强制 pandas 将第一列用作索引,例如,当您有一个每行末尾都有分隔符的格式错误文件时。

usecols可哈希序列或可调用对象,可选

要选择的列的子集,标记为列标签或列索引。如果类似列表,所有元素必须是位置的(即整数索引到文档列)或字符串,这些字符串对应于用户在 names 中提供的列名,或者从文档头行(s)中推断出的列名。如果给出了 names,则不考虑文档头行(s)。例如,一个有效的类似列表的 usecols 参数将是 [0, 1, 2]['foo', 'bar', 'baz']。元素顺序被忽略,所以 usecols=[0, 1][1, 0] 是相同的。要保留元素顺序的 DataFrame 实例化,请使用 pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']] 来按照 ['foo', 'bar'] 顺序的列或 pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]['bar', 'foo'] 顺序。

如果可调用,将根据列名评估可调用函数,返回可调用函数评估为 True 的名称。一个有效的可调用参数示例是 lambda x: x.upper() in ['AAA', 'BBB', 'DDD']。使用此参数会导致更快的解析时间和更低的内存使用。

dtypedtype 或 {可哈希 dtype} 字典,可选

要应用于整个数据集或单个列的数据类型。例如,{'a': np.float64, 'b': np.int32, 'c': 'Int64'} 使用 strobject 与合适的 na_values 设置一起来保留并不解释 dtype。如果指定了 converters,它们将被应用于 INSTEAD 的 dtype 转换。

自版本 1.5.0 新增:添加了对 defaultdict 的支持。指定一个 defaultdict 作为输入,其中默认值确定了未显式列出的列的 dtype

engine{‘c’, ‘python’, ‘pyarrow’},可选

要使用的解析引擎。C 和 pyarrow 引擎更快,而 python 引擎目前更完整。多线程目前只由 pyarrow 引擎支持。

自版本 1.4.0 新增:将‘pyarrow’引擎添加为 实验性 引擎,并且某些功能不受支持,或者可能不正确地使用此引擎。

converters{可哈希可调用对象} 字典,可选

用于转换指定列中值的函数。键可以是列标签或列索引。

true_values列表,可选

除了大小写变体的True之外,还考虑为 True 的值。

false_values列表,可选

除了大小写变体的False之外,还考虑为 False 的值。

skipinitialspacebool,默认为 False

在分隔符后跳过空格。

skiprowsint,int 列表或可调用,可选

要跳过的行号(从 0 开始)或文件开头要跳过的行数(int)。

如果是可调用的,可调用函数将根据行索引进行评估,如果应跳过该行则返回True,否则返回False。一个有效的可调用参数示例是lambda x: x in [0, 2]

skipfooterint,默认为 0

要跳过的文件底部行数(使用engine='c'时不支持)。

nrowsint,可选

要读取的文件行数。用于读取大文件的片段。

na_values可哈希,可迭代的可哈希或{可哈希迭代}的字典,可选

附加的字符串以识别为NA/NaN。如果传递了dict,则特定于每列的NA值。默认情况下,以下值被解释为NaN:“ “, “#N/A”, “#N/A N/A”, “#NA”, “-1.#IND”, “-1.#QNAN”, “-NaN”, “-nan”, “1.#IND”, “1.#QNAN”, “”, “N/A”, NA, “NULL”, NaN, “None”, “n/a”, “nan”, “null”。

keep_default_nabool,默认为 True

是否在解析数据时包括默认的NaN值。根据是否传入na_values,行为如下:

  • 如果keep_default_naTrue,并且指定了na_values,则将na_values附加到用于解析的默认NaN值。

  • 如果keep_default_naTrue,并且未指定na_values,则仅使用默认的NaN值进行解析。

  • 如果keep_default_naFalse,并且指定了na_values,则仅使用指定的na_values值进行解析。

  • 如果keep_default_naFalse,并且未指定na_values,则不会将任何字符串解析为NaN

请注意,如果将na_filter传递为False,则将忽略keep_default_nana_values参数。

na_filterbool,默认为 True

检测缺失值标记(空字符串和na_values的值)。在没有任何NA值的数据中,传递na_filter=False可以提高读取大文件的性能。

verbosebool,默认为 False

指示放置在非数字列中的NA值的数量。

自版本 2.2.0 起已弃用。

skip_blank_linesbool,默认为 True

如果为True,则跳过空行而不解释为NaN值。

parse_datesbool,可哈希列表,列表的列表或{哈希列表}的字典,默认为 False

行为如下:

  • bool。如果为True -> 尝试解析索引。注意:如果传递了date_formatdate_parser参数,则会自动设置为True

  • int或名称的list。例如,如果[1, 2, 3] -> 尝试将列 1、2、3 分别解析为单独的日期列。

  • listlist。例如,如果[[1, 3]] -> 将列 1 和 3 合并并解析为单个日期列。在解析之前,值用空格连接。

  • dict,例如{'foo' : [1, 3]} -> 将列 1、3 解析为日期并称为‘foo’。在解析之前,值用空格连接。

如果某列或索引无法表示为datetime数组,比如因为存在无法解析的值或时区混合,该列或索引将以object数据类型不变返回。对于非标准的datetime解析,请在read_csv()之后使用to_datetime()

注意:存在用于 iso8601 格式日期的快速路径。

infer_datetime_formatbool,默认为 False

如果True并且启用了parse_dates,pandas 将尝试推断列中datetime字符串的格式,如果可以推断出来,将切换到更快的解析方法。在某些情况下,这可以将解析速度提高 5-10 倍。

自版本 2.0.0 起弃用:严格版本的此参数现在是默认的,传递它没有任何效果。

keep_date_colbool,默认为 False

如果True并且parse_dates指定了合并多个列,则保留原始列。

date_parser可调用对象,可选

用于将一系列字符串列转换为datetime实例数组的函数。默认使用dateutil.parser.parser进行转换。pandas 将尝试以三种不同的方式调用date_parser,如果发生异常,则继续下一个:1) 将一个或多个数组(由parse_dates定义)作为参数传递;2) 将由parse_dates定义的列中的字符串值(按行连接)合并为单个数组并传递;3) 对每一行使用一个或多个字符串(对应于由parse_dates定义的列)调用date_parser

自版本 2.0.0 起弃用:改用date_format,或者读取为object,然后根据需要应用to_datetime()

date_formatstr 或列->格式的字典,可选

parse_dates结合使用时用于解析日期的格式。解析时间的 strftime,例如"%d/%m/%Y"。有关更多选择的信息,请参阅strftime 文档,尽管请注意"%f"将解析直到纳秒。你也可以传递:

  • “ISO8601”,解析任何ISO8601

    时间字符串(不一定完全相同的格式);

  • “mixed”,为了单独推断每个元素的格式。这是有风险的,

    你可能应该与 dayfirst 一起使用它。

版本 2.0.0 中的新功能。

dayfirstbool,默认为 False

DD/MM 格式日期,国际和欧洲格式。

cache_datesbool,默认为 True

如果True,使用唯一的转换日期缓存来应用datetime转换。在解析重复日期字符串时可能会产生显著的加速,特别是带有时区偏移的日期字符串。

iteratorbool,默认为 False

返回用于迭代或使用get_chunk()获取块的TextFileReader对象。

chunksizeint,可选

从文件中每块读取的行数。传递一个值会导致函数返回一个 TextFileReader 对象以进行迭代。有关 iteratorchunksize 的更多信息,请参阅 IO 工具文档

compressionstr 或 dict,默认为 ‘infer’

用于在磁盘上的数据的即时解压缩。如果‘infer’并且‘filepath_or_buffer’是类似路径的,则从以下扩展名检测压缩:‘.gz’、‘.bz2’、‘.zip’、‘.xz’、‘.zst’、‘.tar’、‘.tar.gz’、‘.tar.xz’或‘.tar.bz2’(否则不压缩)。如果使用'zip''tar',ZIP 文件必须只包含一个要读取的数据文件。设置为 None 不进行解压缩。也可以是一个字典,其中键 'method' 设置为其中一个 {'zip''gzip''bz2''zstd''xz''tar'},其他键值对被转发到 zipfile.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdDecompressorlzma.LZMAFiletarfile.TarFile。例如,可以通过以下方式传递用于 Zstandard 解压缩的自定义压缩字典:compression={'method': 'zstd', 'dict_data': my_compression_dict}

1.5.0 版本中的新功能:增加了对.tar 文件的支持。

在 1.4.0 版本中更改:增加了对 Zstandard 的支持。

thousandsstr(长度为 1),可选

数值中的千位分隔符。

decimalstr(长度为 1),默认为 ‘.’

将作为十进制点识别的字符(例如,使用‘,’表示欧洲数据)。

lineterminatorstr(长度为 1),可选

用于表示换行的字符。只有与 C 解析器一起使用时才有效。

quotecharstr(长度为 1),可选

用于表示引用项目的开始和结束的字符。引用项目可以包括 delimiter,并且将被忽略。

quoting{0 或 csv.QUOTE_MINIMAL, 1 或 csv.QUOTE_ALL, 2 或 csv.QUOTE_NONNUMERIC, 3 或 csv.QUOTE_NONE},默认为 csv.QUOTE_MINIMAL

控制字段引号行为的 csv.QUOTE_* 常量。默认为 csv.QUOTE_MINIMAL(即,0),表示仅引用包含特殊字符的字段(例如,在 quotechardelimiterlineterminator 中定义的字符)。

doublequotebool,默认为 True

当指定了 quotecharquoting 不是 QUOTE_NONE 时,指示是否将字段内连续的两个 quotechar 元素解释为单个 quotechar 元素。

escapecharstr(长度为 1),可选

用于转义其他字符的字符。

commentstr(长度为 1),可选

表示应不解析行剩余部分的字符。如果在行的开头找到,将完全忽略该行。此参数必须是单个字符。与空行一样(只要 skip_blank_lines=True),完全被注释的行由参数 header 忽略,但不由 skiprows 忽略。例如,如果 comment='#',使用 header=0 解析 #empty\na,b,c\n1,2,3 将导致 'a,b,c' 被视为标题。

encodingstr,可选,默认为 ‘utf-8’

读取/写入 UTF 时要使用的编码(例如。'utf-8')。Python 标准编码列表

encoding_errorsstr,可选,默认为‘strict’

如何处理编码错误。可能值列表

从版本 1.3.0 开始的新功能。

dialectstr 或 csv.Dialect,可选

如果提供,此参数将覆盖以下参数的值(默认或非默认):delimiterdoublequoteescapecharskipinitialspacequotecharquoting。如果需要覆盖值,则将发出ParserWarning。有关更多详细信息,请参阅 csv.Dialect 文档。

on_bad_lines{‘error’,‘warn’,‘skip’} 或 Callable,默认为‘error’

指定在遇到错误行(字段过多的行)时要执行的操作。允许的值有:

  • 'error',当遇到错误行时引发异常。

  • 'warn',在遇到错误行时引发警告并跳过该行。

  • 'skip',在遇到错误行时跳过,而不引发或警告。

从版本 1.3.0 开始的新功能。

从版本 1.4.0 开始的新功能:

  • 可调用函数,具有签名 (bad_line: list[str]) -> list[str] | None,将处理单个错误行。bad_line是由sep分割的字符串列表。如果函数返回None,则会忽略错误行。如果函数返回具有比预期更多元素的新的字符串list,则会发出ParserWarning,同时删除额外的元素。仅在engine='python'时受支持。

从版本 2.2.0 开始更改:

  • engine='pyarrow'时,具有如pyarrow 文档中描述的签名的可调用函数。

delim_whitespacebool,默认为 False

指定是否使用空白字符(例如。' ''\t')作为sep分隔符。等效于设置sep='\s+'。如果将此选项设置为True,则不应传递任何内容给delimiter参数。

自版本 2.2.0 起弃用:请改用sep="\s+"

low_memorybool,默认为 True

将文件分块内部处理,以降低解析时的内存使用,但可能导致混合类型推断。为了确保没有混合类型,要么设置为False,要么使用dtype参数指定类型。请注意,无论如何整个文件都会被读入单个DataFrame中,可以使用chunksizeiterator参数以块返回数据。(仅在 C 解析器中有效)。

memory_mapbool,默认为 False

如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存中,并直接从中访问数据。使用此选项可以提高性能,因为不再有任何 I/O 开销。

float_precision{‘high’,‘legacy’,‘round_trip’},可选

指定 C 引擎应使用哪个转换器处理浮点值。选项为None'high'表示普通转换器,'legacy'表示原始较低精度的 pandas 转换器,'round_trip'表示往返转换器。

storage_options字典,可选

针对特定存储连接有额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为头部选项转发给urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头的 URL),键值对将转发给fsspec.open。更多详情请参阅fsspecurllib,有关存储选项的更多示例请参考此处

dtype_backend{‘numpy_nullable’, ‘pyarrow’},默认为‘numpy_nullable’

应用于结果DataFrame的后端数据类型(仍处于实验阶段)。行为如下:

  • "numpy_nullable":返回支持可空 dtype 的DataFrame(默认值)。

  • "pyarrow":返回由 pyarrow 支持的可空ArrowDtype DataFrame。

新功能在 2.0 版本中新增。

返回:

DataFrame 或 TextFileReader

逗号分隔值(csv)文件被返回为带有标记轴的二维数据结构。

另请参见

DataFrame.to_csv

将 DataFrame 写入逗号分隔值(csv)文件。

read_csv

将逗号分隔值(csv)文件读入 DataFrame。

read_fwf

将一张固定宽度格式的表格行读入 DataFrame。

示例

>>> pd.read_table('data.csv') 

pandas.read_csv

原文:pandas.pydata.org/docs/reference/api/pandas.read_csv.html

pandas.read_csv(filepath_or_buffer, *, sep=_NoDefault.no_default, delimiter=None, header='infer', names=_NoDefault.no_default, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=_NoDefault.no_default, skip_blank_lines=True, parse_dates=None, infer_datetime_format=_NoDefault.no_default, keep_date_col=_NoDefault.no_default, date_parser=_NoDefault.no_default, date_format=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal='.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, encoding_errors='strict', dialect=None, on_bad_lines='error', delim_whitespace=_NoDefault.no_default, low_memory=True, memory_map=False, float_precision=None, storage_options=None, dtype_backend=_NoDefault.no_default)

将逗号分隔值(csv)文件读入 DataFrame。

还支持将文件迭代或分块。

IO 工具的在线文档中可以找到其他帮助。

参数:

filepath_or_bufferstr,路径对象或类文件对象

任何有效的字符串路径均可接受。字符串可以是 URL。有效的 URL 方案包括 http、ftp、s3、gs 和 file。对于文件 URL,期望有一个主机。本地文件可以是:file://localhost/path/to/table.csv。

如果要传递路径对象,则 pandas 接受任何 os.PathLike

通过类文件对象,我们指的是具有 read() 方法的对象,例如文件句柄(例如通过内置的 open 函数)或 StringIO

sepstr,默认为‘,’

字符或正则表达式模式,用于视为分隔符。如果sep=None,C 引擎无法自动检测分隔符,但 Python 解析引擎可以,这意味着后者将被使用,并且 Python 的内置嗅探工具 csv.Sniffer 可以从文件的第一行自动检测到分隔符。此外,长度大于 1 且不同于 '\s+' 的分隔符将被解释为正则表达式,并且还会强制使用 Python 解析引擎。请注意,正则表达式分隔符容易忽略带引号的数据。正则表达式示例:'\r\t'

delimiterstr,可选

sep 的别名。

headerint、int 序列、‘infer’ 或 None,默认为‘infer’

包含列标签并标记数据开始的行号(从零开始计数)。默认行为是推断列名:如果没有传递names,则行为与 header=0 相同,并且列名从文件的第一行推断出来;如果列名明确传递给 names,则行为与 header=None 相同。显式传递 header=0 以能够替换现有名称。标头可以是指定列的 MultiIndex 的行位置的整数列表,例如 [0, 1, 3]。未指定的中间行将被跳过(例如在此示例中跳过了 2)。请注意,如果 skip_blank_lines=True,则此参数将忽略注释行和空行,因此 header=0 表示数据的第一行而不是文件的第一行。

names可哈希序列,可选

应用的列标签序列。如果文件包含标题行,则应显式传递 header=0 以覆盖列名。此列表中不允许重复项。

index_col可哈希、可哈希序列或 False,可选

列作为行标签使用的列,可以用列标签或列索引表示。如果给定一系列标签或索引,将为行标签形成MultiIndex

注意:index_col=False可用于强制 pandas使用第一列作为索引,例如,当您有一个每行末尾带有分隔符的格式不正确的文件时。

usecols可哈希序列或可调用对象,可选

要选择的列的子集,可以用列标签或列索引表示。如果类似列表,所有元素必须是位置的(即整数索引到文档列)或与用户在names中提供的列名对应的字符串,或从文档标题行中推断出来的。如果给定了names,则不考虑文档标题行。例如,一个有效的类似列表的usecols参数可以是[0, 1, 2]['foo', 'bar', 'baz']。元素顺序被忽略,因此usecols=[0, 1][1, 0]相同。要保留元素顺序实例化DataFrame,请使用pd.read_csv(data, usecols=['foo', 'bar'])[['foo', 'bar']]['foo', 'bar']顺序的列或pd.read_csv(data, usecols=['foo', 'bar'])[['bar', 'foo']]['bar', 'foo']顺序。

如果可调用,将对列名评估可调用函数,返回可调用函数评估为True的名称。一个有效的可调用参数示例是lambda x: x.upper() in ['AAA', 'BBB', 'DDD']。使用此参数会导致更快的解析时间和更低的内存使用。

dtypedtype 或{可哈希 dtype}字典,可选

要应用于整个数据集或单独列的数据类型。例如,{'a': np.float64, 'b': np.int32, 'c': 'Int64'}使用strobject与适当的na_values设置一起,以保留并不解释dtype。如果指定了converters,它们将被应用于dtype转换的替代

新版本 1.5.0 中:添加了对defaultdict的支持。指定一个defaultdict作为输入,其中默认值确定未明确列出的列的dtype

engine{‘c’, ‘python’, ‘pyarrow’},可选

要使用的解析引擎。C 和 pyarrow 引擎更快,而 python 引擎目前更完整。目前只有 pyarrow 引擎支持多线程。

新版本 1.4.0 中:添加了‘pyarrow’引擎作为实验性引擎,并且某些功能不受支持,或者在此引擎下可能无法正常工作。

converters{可哈希可调用}字典,可选

用于转换指定列中的值的函数。键可以是列标签或列索引。

true_values列表,可选

除了不区分大小写的True的变体外,要考虑为True的值。

false_values列表,可选

除了不区分大小写的False的变体外,要考虑为False的值。

skipinitialspacebool,默认为 False

在分隔符后跳过空格。

skiprowsint、int 列表或可调用对象,可选

要跳过的行号(从 0 开始索引)或文件开头要跳过的行数(int)。

如果是可调用的,可调用函数将根据行索引进行评估,如果应跳过该行则返回True,否则返回False。一个有效的可调用参数示例是lambda x: x in [0, 2]

skipfooterint,默认为 0

要跳过文件底部的行数(不支持engine='c')。

nrowsint,可选

要读取的文件行数。用于读取大文件的片段。

na_valuesHashable、Hashable 的 Iterable 或{HashableIterable}字典,可选

要识别为NA/NaN的其他字符串。如果传递了dict,则为每列指定特定的NA值。默认情况下,以下值被解释为NaN:“ “, “#N/A”, “#N/A N/A”, “#NA”, “-1.#IND”, “-1.#QNAN”, “-NaN”, “-nan”, “1.#IND”, “1.#QNAN”, “”, “N/A”, NA, “NULL”, NaN, “None”, “n/a”, “nan”, “null “。

keep_default_nabool,默认为 True

在解析数据时是否包括默认的NaN值。根据是否传入na_values,行为如下:

  • 如果keep_default_naTrue,并且指定了na_values,则na_values将附加到用于解析的默认NaN值。

  • 如果keep_default_naTrue,并且未指定na_values,则只使用默认的NaN值进行解析。

  • 如果keep_default_naFalse,并且指定了na_values,则只有指定的na_values值会被用于解析。

  • 如果keep_default_naFalse,并且未指定na_values,则不会将任何字符串解析为NaN

请注意,如果将na_filter传入为False,则keep_default_nana_values参数将被忽略。

na_filterbool,默认为 True

检测缺失值标记(空字符串和na_values的值)。在没有任何NA值的数据中,传入na_filter=False可以提高读取大文件的性能。

verbosebool,默认为 False

指示非数字列中放置的NA值的数量。

自版本 2.2.0 起已弃用。

skip_blank_linesbool,默认为 True

如果为True,则跳过空行而不是解释为NaN值。

parse_datesbool、Hashable 列表、列表的列表或{Hashablelist}字典,默认为 False

行为如下:

  • bool。如果为True -> 尝试解析索引。注意:如果传递了date_formatdate_parser参数,则会自动设置为True

  • int或名称的list。例如,如果[1, 2, 3] -> 尝试将列 1、2、3 分别解析为单独的日期列。

  • listlist。例如,如果[[1, 3]] -> 将列 1 和 3 组合并解析为单个日期列。在解析之前,值将用空格连接起来。

  • dict,例如{'foo' : [1, 3]} -> 将列 1、3 解析为日期并命名为‘foo’。在解析之前,值将用空格连接起来。

如果某列或索引无法表示为datetime数组,例如因为存在无法解析的值或时区混合,该列或索引将按原样返回为object数据类型。对于非标准datetime解析,请在read_csv()之后使用to_datetime()

注意:存在用于 iso8601 格式的快速路径。

infer_datetime_formatbool,默认值为 False

如果True并且启用了parse_dates,pandas 将尝试推断列中datetime字符串的格式,并且如果可以推断,则切换到更快的解析方法。在某些情况下,这可能会将解析速度提高 5-10 倍。

自 2.0.0 版本起已弃用:该参数的严格版本现在是默认值,传递它将不会产生任何效果。

keep_date_colbool,默认值为 False

如果True并且parse_dates指定合并多个列,则保留原始列。

date_parserCallable,可选

用于将字符串列序列转换为datetime实例数组的函数。默认使用dateutil.parser.parser进行转换。 pandas 将尝试以三种不同的方式调用date_parser,如果发生异常,则继续下一个:1)将一个或多个数组(如parse_dates定义的)作为参数传递;2)将由parse_dates定义的列中的字符串值(按行)串联成单个数组并传递;并且 3)对每一行使用一个或多个字符串(对应于由parse_dates定义的列)调用一次date_parser

自 2.0.0 版本起已弃用:请改用date_format,或者读取为object然后根据需要应用to_datetime()

date_formatstr 或列->格式的字典,可选

parse_dates一起使用时用于解析日期的格式。解析时间的 strftime,例如"%d/%m/%Y"。有关选项的更多信息,请参阅strftime documentation,尽管请注意"%f"将解析直到纳秒。您还可以传递:

  • “ISO8601”,以解析任何ISO8601

    时间字符串(不一定完全相同的格式);

  • “mixed”,为每个元素单独推断格式。这很冒险,

    您应该与 dayfirst 一起使用它。

2.0.0 版本中的新功能。

dayfirstbool,默认值为 False

DD/MM 格式日期,国际和欧洲格式。

cache_datesbool,默认值为 True

如果为True,则使用唯一的转换日期缓存应用datetime转换。当解析重复的日期字符串时,特别是带有时区偏移的日期字符串,可能会产生显着的加速。

iteratorbool,默认值为 False

返回用于迭代或使用get_chunk()获取块的TextFileReader对象。

chunksizeint,可选

从文件中每块读取的行数。传递一个值将导致函数返回一个TextFileReader对象进行迭代。有关iteratorchunksize的更多信息,请参阅IO 工具文档

compressionstr 或 dict,默认‘infer’

用于在磁盘上的数据进行即时解压缩。如果‘infer’和‘filepath_or_buffer’类似路径,则从以下扩展名检测压缩:‘.gz’、‘.bz2’、‘.zip’、‘.xz’、‘.zst’、‘.tar’、‘.tar.gz’、‘.tar.xz’或‘.tar.bz2’(否则不压缩)。如果使用'zip''tar',ZIP 文件必须只包含一个要读取的数据文件。设置为None表示不解压缩。也可以是一个字典,其中键'method'设置为其中之一{'zip''gzip''bz2''zstd''xz''tar'},其他键值对转发到zipfile.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdDecompressorlzma.LZMAFiletarfile.TarFile。例如,可以通过以下方式传递用于 Zstandard 解压缩的自定义压缩字典:compression={'method': 'zstd', 'dict_data': my_compression_dict}

1.5.0 版本中的新功能:添加对.tar 文件的支持。

1.4.0 版本中的更改:Zstandard 支持。

thousandsstr (length 1), optional

用作数字值中的千位分隔符的字符。

decimalstr (length 1), default ‘.’

用作小数点的字符(例如,对于欧洲数据使用‘,’)。

lineterminatorstr (length 1), optional

用于表示换行的字符。仅与 C 解析器有效。

quotecharstr (length 1), optional

用于表示引用项的起始和结束的字符。引用项可以包括delimiter,并且将被忽略。

quoting{0 或 csv.QUOTE_MINIMAL,1 或 csv.QUOTE_ALL,2 或 csv.QUOTE_NONNUMERIC,3 或 csv.QUOTE_NONE},默认 csv.QUOTE_MINIMAL

控制字段引用行为的csv.QUOTE_*常量。默认值为csv.QUOTE_MINIMAL(即 0),这意味着只有包含特殊字符的字段被引用(例如,在quotechardelimiterlineterminator中定义的字符)。

doublequotebool, default True

当指定quotecharquoting不是QUOTE_NONE时,指示是否将字段内连续的两个quotechar元素解释为单个quotechar元素。

escapecharstr (length 1), optional

用于转义其他字符的字符。

commentstr (length 1), optional

表示该行剩余部分不应解析的字符。如果在行的开头找到该字符,则整行将被忽略。此参数必须是单个字符。与空行一样(只要skip_blank_lines=True),完全注释的行被参数header忽略,但不被skiprows忽略。例如,如果comment='#',使用header=0解析#empty\na,b,c\n1,2,3将导致将'a,b,c'视为标题。

encodingstr, optional, default ‘utf-8’

读取/写入时要使用的 UTF 编码(例如’utf-8’)。Python 标准编码列表

编码错误str,可选,默认为’strict’

处理编码错误的方式。可能的值列表

自版本 1.3.0 起新功能。

方言str 或 csv.Dialect,可选

如果提供了此参数,它将覆盖以下参数的值(默认值或非默认值):delimiterdoublequoteescapecharskipinitialspacequotecharquoting。如果需要覆盖值,将发出ParserWarning。有关更多详细信息,请参阅csv.Dialect文档。

on_bad_lines{‘error’, ‘warn’, ‘skip’}或可调用,默认为’error’

指定在遇到坏行(字段过多的行)时要执行的操作。允许的值为:

  • 'error',遇到坏行时引发异常。

  • 'warn',遇到坏行时发出警告并跳过该行。

  • 'skip',遇到坏行时跳过而不发出或警告。

自版本 1.3.0 起新功能。

自版本 1.4.0 起新功能:

  • 具有签名(bad_line: list[str]) -> list[str] | None的可调用函数,将处理单个坏行。bad_line是由sep分割的字符串列表。如果函数返回None,则将忽略坏行。如果函数返回具有比预期更多元素的新list字符串,则将发出ParserWarning,同时丢弃额外的元素。仅在engine='python'时支持

自版本 2.2.0 起更改:

  • engine='pyarrow'时,具有pyarrow 文档中描述的签名的可调用函数。

delim_whitespacebool,默认为 False

指定是否使用空格(例如' ''\t')作为sep分隔符。等同于设置sep='\s+'。如果将此选项设置为True,则不应为delimiter参数传递任何内容。

自版本 2.2.0 起弃用:改用sep="\s+"

low_memorybool,默认为 True

在块中内部处理文件,导致解析时使用更少的内存,但可能混合类型推断。为确保没有混合类型,要么设置为False,要么使用dtype参数指定类型。请注意,整个文件都会被读入单个DataFrame中,使用chunksizeiterator参数以返回以块形式返回数据。 (仅与 C 解析器有效)。

memory_mapbool,默认为 False

如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存并直接从中访问数据。使用此选项可以提高性能,因为不再有任何 I/O 开销。

float_precision{‘high’, ‘legacy’, ‘round_trip’},可选

指定 C 引擎应使用哪个转换器处理浮点值。选项为 None'high' 表示普通转换器,'legacy' 表示原始的较低精度 pandas 转换器,'round_trip' 表示往返转换器。

storage_optionsdict,可选

适用于特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发给 urllib.request.Request。对于其他 URL(例如以 “s3://” 和 “gcs://” 开头的 URL),键值对将转发给 fsspec.open。请参阅 fsspecurllib 以获取更多详细信息,并有关存储选项的更多示例,请参考这里

dtype_backend{‘numpy_nullable’, ‘pyarrow’},默认为 ‘numpy_nullable’

应用于生成的 DataFrame 的后端数据类型(仍处于实验阶段)。行为如下:

  • "numpy_nullable":返回由可空数据类型支持的 DataFrame(默认)。

  • "pyarrow":返回由 pyarrow 支持的可空 ArrowDtype DataFrame。

版本 2.0 中的新功能。

返回:

DataFrame 或 TextFileReader

逗号分隔值(csv)文件作为带有标记轴的二维数据结构返回。

另请参阅

DataFrame.to_csv

将 DataFrame 写入逗号分隔值(csv)文件。

read_table

将通用分隔文件读入 DataFrame。

read_fwf

将固定宽度格式行的表读入 DataFrame。

示例

>>> pd.read_csv('data.csv') 

pandas.DataFrame.to_csv

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html

DataFrame.to_csv(path_or_buf=None, *, sep=',', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression='infer', quoting=None, quotechar='"', lineterminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal='.', errors='strict', storage_options=None)

将对象写入逗号分隔值(csv)文件。

参数:

path_or_bufstr,路径对象,类似文件对象,或 None,默认为 None

字符串、路径对象(实现 os.PathLike[str])或实现 write()函数的类似文件对象。如果为 None,则结果将作为字符串返回。如果传递了一个非二进制文件对象,它应该使用 newline=’’打开,禁用通用换行符。如果传递了一个二进制文件对象,mode 可能需要包含‘b’。

sepstr,默认为‘,’

长度为 1 的字符串。输出文件的字段分隔符。

na_repstr,默认为‘’

缺失数据表示。

float_formatstr,Callable,默认为 None

浮点数的格式化字符串。如果给定了一个可调用对象,它将优先于其他数字格式化参数,如小数。

columns序列,可选

要写入的列。

headerbool 或 str 列表,默认为 True

写出列名。如果给出一个字符串列表,则假定为列名的别名。

indexbool,默认为 True

写入行名称(索引)。

index_labelstr 或序列,或 False,默认为 None

如果需要,用作索引列的列标签。如果给出 None,并且 header 和 index 为 True,则使用索引名称。如果对象使用 MultiIndex,则应给出一个序列。如果为 False,则不打印索引名称的字段。在 R 中更容易导入,请使用 index_label=False。

mode{‘w’, ‘x’, ‘a’},默认为‘w’

转发到 open(mode=)或 fsspec.open(mode=)以控制文件打开。典型值包括:

  • ‘w’,首先截断文件。

  • ‘x’,独占创建,如果文件已经存在则失败。

  • ‘a’,如果文件存在,则追加到文件末尾。

encodingstr,可选

表示要在输出文件中使用的编码的字符串,默认为‘utf-8’。如果 path_or_buf 是非二进制文件对象,则不支持编码。

compressionstr 或 dict,默认为‘infer’

用于输出数据的即时压缩。如果‘infer’和‘path_or_buf’是类似路径的,则从以下扩展名中检测压缩:‘.gz’、‘.bz2’、‘.zip’、‘.xz’、‘.zst’、‘.tar’、‘.tar.gz’、‘.tar.xz’或‘.tar.bz2’(否则不压缩)。设置为None以不压缩。也可以是一个字典,其中键'method'设置为其中一个{'zip''gzip''bz2''zstd''xz''tar'},其他键值对转发到zipfile.ZipFilegzip.GzipFilebz2.BZ2Filezstandard.ZstdCompressorlzma.LZMAFiletarfile.TarFile。例如,可以传递以下内容以获得更快的压缩并创建可重现的 gzip 存档:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}

1.5.0 版中的新功能:增加了对.tar 文件的支持。

可以是一个带有‘method’键作为压缩模式和其他条目作为附加压缩选项的字典,如果压缩模式是‘zip’。

支持将压缩选项作为字典中的键传递,压缩模式为‘gzip’、‘bz2’、‘zstd’和‘zip’。

quoting csv 模块中的可选常量

默认为 csv.QUOTE_MINIMAL。如果设置了 float_format,则浮点数将转换为字符串,因此 csv.QUOTE_NONNUMERIC 将将它们视为非数字。

quotechar str,默认为‘"’

长度为 1 的字符串。用于引用字段的字符。

lineterminator str,可选

用于输出文件的换行字符或字符序列。默认为 os.linesep,这取决于调用此方法的操作系统(对于 linux 为’\n’,对于 Windows 为‘\r\n’)。

1.5.0 版更改:以前是 line_terminator,为与 read_csv 和标准库‘csv’模块保持一致而更改。

chunksize int 或 None

每次写入的行数。

date_format str,默认为 None

用于 datetime 对象的格式字符串。

doublequote bool,默认为 True

控制在字段内引用 quotechar 的引用。

escapechar str,默认为 None

长度为 1 的字符串。适当时用于转义 sep 和 quotechar 的字符。

decimal str,默认为‘.’

作为十进制分隔符识别的字符。例如,对于欧洲数据,请使用“,”。

errors str,默认为‘strict’

指定如何处理编码和解码错误。有关选项的完整列表,请参阅 open() 的 errors 参数。

storage_options dict,可选

特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发给urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头的 URL),键值对将转发给fsspec.open。有关更多详细信息,请参阅fsspecurllib,有关存储选项的更多示例,请参阅此处

返回:

None 或 str

如果 path_or_buf 为 None,则将生成的 csv 格式作为字符串返回。否则返回 None。

另请参阅

read_csv

将 CSV 文件加载到 DataFrame 中。

to_excel

将 DataFrame 写入 Excel 文件。

示例

创建包含无索引的‘df’的‘out.csv’

>>> df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
...                    'mask': ['red', 'purple'],
...                    'weapon': ['sai', 'bo staff']})
>>> df.to_csv('out.csv', index=False) 

创建包含‘out.csv’的‘out.zip’

>>> df.to_csv(index=False)
'name,mask,weapon\nRaphael,red,sai\nDonatello,purple,bo staff\n'
>>> compression_opts = dict(method='zip',
...                         archive_name='out.csv')  
>>> df.to_csv('out.zip', index=False,
...           compression=compression_opts) 

要将 csv 文件写入新文件夹或嵌套文件夹,您首先需要使用 Pathlib 或 os 创建它:

>>> from pathlib import Path  
>>> filepath = Path('folder/subfolder/out.csv')  
>>> filepath.parent.mkdir(parents=True, exist_ok=True)  
>>> df.to_csv(filepath) 
>>> import os  
>>> os.makedirs('folder/subfolder', exist_ok=True)  
>>> df.to_csv('folder/subfolder/out.csv') 

pandas.read_fwf

原文:pandas.pydata.org/docs/reference/api/pandas.read_fwf.html

pandas.read_fwf(filepath_or_buffer, *, colspecs='infer', widths=None, infer_nrows=100, dtype_backend=_NoDefault.no_default, iterator=False, chunksize=None, **kwds)

将固定宽度格式的行的表读入 DataFrame。

还支持可选地迭代或将文件分成块。

可在IO 工具的在线文档中找到更多帮助。

参数:

filepath_or_bufferstr,路径对象或类似文件的对象

字符串,路径对象(实现os.PathLike[str]),或实现文本read()函数的类似文件的对象。字符串可以是 URL。有效的 URL 方案包括 http,ftp,s3 和文件。对于文件 URL,期望有一个主机。本地文件可以是:file://localhost/path/to/table.csv

colspecs元组列表(int,int)或‘infer’。可选

一个元组列表,给出每行固定宽度字段的范围作为半开区间(即,from,to[)。字符串值‘infer’可用于指示解析器尝试从未通过 skiprows 跳过的数据的前 100 行中检测列规范(默认值=‘infer’)。

widths整数列表,可选

一个字段宽度列表,如果间隔是连续的,可以代替‘colspecs’使用。

infer_nrows整数,默认值 100

让解析器确定 colspecs 时要考虑的行数。

dtype_backend{‘numpy_nullable’,‘pyarrow’},默认值‘numpy_nullable’

应用于结果[DataFrame的后端数据类型(仍处于实验阶段)。行为如下:

  • "numpy_nullable":返回支持可空 dtype 的DataFrame(默认)。

  • "pyarrow":返回支持 pyarrow 的可空ArrowDtype DataFrame。

版本 2.0 中的新功能。

****kwds**可选

可以将可选关键字参数传递给TextFileReader

返回:

DataFrame 或 TextFileReader

逗号分隔值(csv)文件作为带有标记轴的二维数据结构返回。

另请参见

DataFrame.to_csv

将 DataFrame 写入逗号分隔值(csv)文件。

read_csv

将逗号分隔值(csv)文件读入 DataFrame。

示例

>>> pd.read_fwf('data.csv') 

pandas.read_clipboard

原文:pandas.pydata.org/docs/reference/api/pandas.read_clipboard.html

pandas.read_clipboard(sep='\\s+', dtype_backend=_NoDefault.no_default, **kwargs)

从剪贴板读取文本并传递给read_csv()

解析剪贴板内容,类似于使用read_csv()解析 CSV 文件。

参数:

sepstr,默认为‘\s+’

字符串或正则表达式分隔符。默认值为’\s+',表示一个或多个空白字符。

dtype_backend{‘numpy_nullable’, ‘pyarrow’},默认为‘numpy_nullable’

应用于结果DataFrame的后端数据类型(仍处于实验阶段)。行为如下:

  • "numpy_nullable":返回基于 nullable-dtype 的DataFrame(默认)。

  • "pyarrow":返回基于 pyarrow 的 nullable ArrowDtype DataFrame。

版本 2.0 中的新功能。

**kwargs

查看read_csv()获取完整参数列表。

返回:

DataFrame

一个解析后的DataFrame对象。

另请参阅

DataFrame.to_clipboard

将对象复制到系统剪贴板。

read_csv

从逗号分隔值(csv)文件读取到 DataFrame。

read_fwf

将固定宽度格式的行表读入 DataFrame。

示例

>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])
>>> df.to_clipboard()  
>>> pd.read_clipboard()  
 A  B  C
0    1  2  3
1    4  5  6 

pandas.DataFrame.to_clipboard

原文:pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_clipboard.html

DataFrame.to_clipboard(*, excel=True, sep=None, **kwargs)

将对象复制到系统剪贴板。

将对象的文本表示写入系统剪贴板。例如,这可以粘贴到 Excel 中。

参数:

excelbool,默认为 True

以 csv 格式生成输出,便于粘贴到 excel 中。

  • True,使用提供的分隔符进行 csv 粘贴。

  • False,将对象的字符串表示写入剪贴板。

sepstr,默认为'\t'

字段分隔符。

**kwargs

这些参数将传递给 DataFrame.to_csv。

另请参阅

DataFrame.to_csv

将 DataFrame 写入逗号分隔值(csv)文件。

read_clipboard

从剪贴板读取文本并传递给 read_csv。

注意

您平台的要求。

  • Linux:xclip,或 xsel(带有 PyQt4 模块)
  • Windows:无
  • macOS:无

该方法使用了为包 pyperclip 开发的进程。在示例中给出了渲染任何输出字符串格式的解决方案。

示例

复制 DataFrame 的内容到剪贴板。

>>> df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C']) 
>>> df.to_clipboard(sep=',')  
... # Wrote the following to the system clipboard:
... # ,A,B,C
... # 0,1,2,3
... # 1,4,5,6 

我们可以通过传递关键字 index 并将其设置为 false 来省略索引。

>>> df.to_clipboard(sep=',', index=False)  
... # Wrote the following to the system clipboard:
... # A,B,C
... # 1,2,3
... # 4,5,6 

使用原始的 pyperclip 包进行任何字符串输出格式。

import pyperclip
html = df.style.to_html()
pyperclip.copy(html) 

pandas.read_excel

原文:pandas.pydata.org/docs/reference/api/pandas.read_excel.html

pandas.read_excel(io, sheet_name=0, *, header=0, names=None, index_col=None, usecols=None, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=False, date_parser=_NoDefault.no_default, date_format=None, thousands=None, decimal='.', comment=None, skipfooter=0, storage_options=None, dtype_backend=_NoDefault.no_default, engine_kwargs=None)

将 Excel 文件读入pandasDataFrame

支持从本地文件系统或 URL 读取的 xls、xlsx、xlsm、xlsb、odf、ods 和 odt 文件扩展名。支持读取单个工作表或工作表列表的选项。

参数:

iostr、bytes、ExcelFile、xlrd.Book、路径对象或类似文件对象

任何有效的字符串路径都可以接受。字符串可以是 URL。有效的 URL 方案包括 http、ftp、s3 和 file。对于文件 URL,期望有一个主机。本地文件可以是:file://localhost/path/to/table.xlsx

如果要传递路径对象,pandas 接受任何os.PathLike

通过文件类似对象,我们指的是具有read()方法的对象,例如文件句柄(例如通过内置的open函数)或StringIO

自版本 2.1.0 起弃用:传递字节字符串已被弃用。要从字节字符串读取,请将其包装在BytesIO对象中。

sheet_namestr、int、list 或 None,默认为 0

字符串用于工作表名称。整数用于零索引的工作表位置(图表工作表不计入工作表位置)。字符串/整数列表用于请求多个工作表。指定None以获取所有工作表。

可用情况:

  • 默认为0:第一个工作表作为 DataFrame

  • 1:第二个工作表作为 DataFrame

  • "Sheet1":加载名为"Sheet1"的工作表

  • [0, 1, "Sheet5"]:将第一个、第二个和名为“Sheet5”的工作表加载为 DataFrame 字典

  • None:所有工作表。

headerint、int 列表,默认为 0

用于解析的 DataFrame 的列标签的行(从 0 开始索引)。如果传递整数列表,则这些行位置将合并为MultiIndex。如果没有标题,请使用 None。

namesarray-like,默认为 None

使用的列名列表。如果文件不包含标题行,则应显式传递header=None

index_colint、str、int 列表,默认为 None

用作 DataFrame 行标签的列(从 0 开始索引)。如果没有这样的列,请传递 None。如果传递了列表,则这些列将合并为MultiIndex。如果使用usecols选择了数据子集,则index_col基于该子集。

缺失值将被向前填充,以允许使用to_excel进行merged_cells=True的往返。为了避免向前填充缺失值,请在读取数据后使用set_index而不是index_col

usecolsstr、类似列表或可调用对象,默认为 None

  • 如果为 None,则解析所有列。

  • 如果是 str,则表示 Excel 列字母和列范围的逗号分隔列表(例如“A:E”或“A,C,E:F”)。范围包括两侧。

  • 如果是 int 列表,则表示要解析的列号列表(从 0 开始索引)。

  • 如果是字符串列表,则表示要解析的列名列表。

  • 如果是可调用对象,则针对每个列名进行评估,并且如果可调用对象返回True,则解析该列。

根据上述行为返回列的子集。

dtype类型名称或列->类型字典,默认为 None

数据或列的数据类型。例如,{‘a’:np.float64,‘b’:np.int32}使用object来保留数据存储在 Excel 中并且不解释 dtype,这将必然导致object dtype。如果指定了转换器,它们将被应用于 dtype 转换。如果使用None,它将根据数据推断每列的 dtype。

engine{‘openpyxl’,‘calamine’,‘odf’,‘pyxlsb’,‘xlrd’},默认为 None

如果 io 不是缓冲区或路径,则必须设置此项以识别 io。引擎兼容性:

  • openpyxl支持更新的 Excel 文件格式。

  • calamine支持 Excel(.xls,.xlsx,.xlsm,.xlsb)和 OpenDocument(.ods)文件格式。

  • odf支持 OpenDocument 文件格式(.odf,.ods,.odt)。

  • pyxlsb支持二进制 Excel 文件。

  • xlrd支持旧式 Excel 文件(.xls)。

engine=None时,将使用以下逻辑确定引擎:

  • 如果path_or_buffer是 OpenDocument 格式(.odf,.ods,.odt),则将使用odf

  • 否则,如果path_or_buffer是 xls 格式,则将使用xlrd

  • 否则,如果path_or_buffer是 xlsb 格式,则将使用pyxlsb

  • 否则将使用openpyxl

converters字典,默认为 None

用于转换某些列中的值的函数字典。键可以是整数或列标签,值是一个接受一个输入参数(Excel 单元格内容)并返回转换后内容的函数。

true_values列表,默认为 None

被视为 True 的值。

false_values列表,默认为 None

被视为 False 的值。

skiprows列表,整数或可调用对象,可选

要跳过的行号(从 0 开始)或文件开头要跳过的行数(整数)。如果可调用,则将对行索引评估可调用��数,如果应跳过该行则返回 True,否则返回 False。一个有效的可调用参数示例是lambda x: x in [0, 2]

nrows整数,默认为 None

要解析的行数。

na_values标量,字符串,类似列表或字典,默认为 None

附加的字符串被识别为 NA/NaN。如果传递了字典,则为每列指定特定的 NA 值。默认情况下,以下值被解释为 NaN:‘’,‘#N/A’,‘#N/A N/A’,‘#NA’,‘-1.#IND’,‘-1.#QNAN’,‘-NaN’,‘-nan’,‘1.#IND’,‘1.#QNAN’,‘’,‘N/A’,‘NA’,‘NULL’,‘NaN’,‘None’,‘n/a’,‘nan’,‘null’。

keep_default_na布尔值,默认为 True

在解析数据时是否包括默认的 NaN 值。根据是否传递了na_values,行为如下:

  • 如果keep_default_na为 True,并且指定了na_values,则na_values将被附加到用于解析的默认 NaN 值中。

  • 如果keep_default_na为 True,并且未指定na_values,则只使用默认的 NaN 值进行解析。

  • 如果keep_default_na为 False,并且指定了na_values,则只使用指定的 NaN 值na_values进行解析。

  • 如果keep_default_na为 False,并且未指定na_values,则不会将任何字符串解析为 NaN。

请注意,如果 na_filter 设置为 False,则将忽略keep_default_nana_values参数。

na_filter布尔值,默认为 True

检测缺失值标记(空字符串和 na_values 的值)。在没有任何 NA 的数据中,传递na_filter=False可以提高读取大文件的性能。

verbose布尔值,默认为 False

指示非数字列中放置的 NA 值的数量。

parse_dates布尔值,类似列表,或字典,默认为 False

行为如下:

  • 布尔值。如果为 True -> 尝试解析索引。

  • 整数或名称的列表。例如,如果[1, 2, 3] -> 尝试将列 1, 2, 3 分别解析为单独的日期列。

  • 列表的列表。例如,如果[[1, 3]] -> 结合列 1 和 3 并解析为单个日期列。

  • 字典,例如{‘foo’ : [1, 3]} -> 解析列 1, 3 为日期并将结果命名为‘foo’

如果列或索引包含无法解析的日期,则整个列或索引将以对象数据类型不变返回。如果不想将某些单元格解析为日期,只需在 Excel 中更改它们的类型为“文本”。对���非标准的日期时间解析,请在pd.read_excel之后使用pd.to_datetime

注意:存在用于 iso8601 格式日期的快速路径。

date_parser函数,可选

用于将一系列字符串列转换为日期时间实例数组的函数。默认使用dateutil.parser.parser进行转换。Pandas 将尝试以三种不同的方式调用 date_parser,如果发生异常,则会继续下一个:1) 将一个或多个数组(由 parse_dates 定义)作为参数传递;2) 将由 parse_dates 定义的列中的字符串值(按行)连接成单个数组并传递;3) 对每一行使用一个或多个字符串(对应于由 parse_dates 定义的列)作为参数调用 date_parser。

自版本 2.0.0 起弃用:改用date_format,或者读取为object,然后根据需要应用to_datetime()

date_format字符串或列 -> 格式的字典,默认为None

如果与parse_dates一起使用,将根据此格式解析日期。对于更复杂的情况,请读取为object,然后根据需要应用to_datetime()

自版本 2.0.0 起新增。

thousands字符串,默认为 None

用于将字符串列解析为数字的千位分隔符。请注意,此参数仅对在 Excel 中存储为 TEXT 的列必要,任何数值列将自动解析,无论显示格式如何。

decimal字符串,默认为‘.’

用于将字符串列解析为数字的十进制点的字符。请注意,此参数仅对在 Excel 中存储为 TEXT 的列必要,任何数值列将自动解析,无论显示格式如何。(例如,对于欧洲数据使用‘,’)。

自版本 1.4.0 起新增。

commentstr, 默认为 None

注释掉行的其余部分。将字符或字符传递给此参数以指示输入文件中的注释。注释字符串和当前行末尾之间的任何数据都将被忽略。

skipfooterint, 默认为 0

要跳过的末尾行(从 0 开始索引)。

storage_optionsdict, 可选

适用于特定存储连接的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对将作为标头选项转发到 urllib.request.Request。对于其他 URL(例如以“s3://”和“gcs://”开头的 URL),键值对将转发到 fsspec.open。请参阅 fsspecurllib 以获取更多详细信息,并有关存储选项的更多示例,请参考这里

dtype_backend{‘numpy_nullable’, ‘pyarrow’}, 默认为 ‘numpy_nullable’

应用于结果 DataFrame 的后端数据类型(仍处于实验阶段)。行为如下:

  • "numpy_nullable": 返回由可空数据类型支持的 DataFrame(默认)。

  • "pyarrow": 返回由 pyarrow 支持的可空 ArrowDtype DataFrame。

2.0 版本中的新功能。

engine_kwargsdict, 可选

传递给 excel 引擎的任意关键字参数。

返回:

DataFrame 或 DataFrame 字典

从传入的 Excel 文件中获取的 DataFrame。有关返回 DataFrame 字典的更多信息,请参阅 sheet_name 参数中的注释。

另请参见

DataFrame.to_excel

将 DataFrame 写入 Excel 文件。

DataFrame.to_csv

将 DataFrame 写入逗号分隔值(csv)文件。

read_csv

将逗号分隔值(csv)文件读入 DataFrame。

read_fwf

将固定宽度格式的行表读入 DataFrame。

注释

有关每个 Excel 引擎使用的方法的具体信息,请参阅 pandas 用户指南

示例

文件可以使用文件名字符串或打开的文件对象进行读取:

>>> pd.read_excel('tmp.xlsx', index_col=0)  
 Name  Value
0   string1      1
1   string2      2
2  #Comment      3 
>>> pd.read_excel(open('tmp.xlsx', 'rb'),
...               sheet_name='Sheet3')  
 Unnamed: 0      Name  Value
0           0   string1      1
1           1   string2      2
2           2  #Comment      3 

可以通过 index_col 和 header 参数指定索引和标题

>>> pd.read_excel('tmp.xlsx', index_col=None, header=None)  
 0         1      2
0  NaN      Name  Value
1  0.0   string1      1
2  1.0   string2      2
3  2.0  #Comment      3 

列类型会被推断,但也可以明确指定

>>> pd.read_excel('tmp.xlsx', index_col=0,
...               dtype={'Name': str, 'Value': float})  
 Name  Value
0   string1    1.0
1   string2    2.0
2  #Comment    3.0 

True、False 和 NA 值以及千位分隔符具有默认值,但也可以明确指定。也可以提供您想要的值作为字符串或字符串列表!

>>> pd.read_excel('tmp.xlsx', index_col=0,
...               na_values=['string1', 'string2'])  
 Name  Value
0       NaN      1
1       NaN      2
2  #Comment      3 

可以使用 comment kwarg 跳过 Excel 输入文件中的注释行。

>>> pd.read_excel('tmp.xlsx', index_col=0, comment='#')  
 Name  Value
0  string1    1.0
1  string2    2.0
2     None    NaN 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值