You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas read_csv的usecols参数时,是读取全文件还是仅指定列?

Pandas read_csv指定usecols时的内存占用逻辑

当你用pandas的read_csv函数并指定usecols参数时,只会读取你指定的列,不会先加载整个文件到内存,这也是这个参数设计出来的核心目的——帮你节省内存。

具体来说,pandas会先解析CSV文件的表头,匹配你通过usecols指定的列名(或列索引),之后在逐行读取文件内容时,只会保留这些目标列的数据,其他列的内容会被直接跳过,根本不会加载到内存里。

举个实际例子,假设你有一个超大的CSV文件,里面有10个列,但你只需要其中的user_id和order_amount两列,用下面的代码读取:

import pandas as pd
df = pd.read_csv('big_order_data.csv', usecols=['user_id', 'order_amount'])

这时内存里只会存储user_id和order_amount的数据,其他8列完全不会占用你的RAM,内存占用量只和这两列的行数、数据类型有关。

目前主流的pandas版本都遵循这个逻辑,不用担心会偷偷加载整个文件。

内容的提问来源于stack exchange,提问作者Альберт Александров

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 01:47:08