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

在Kaggle中读取CSV文件时遭遇DtypeWarning问题求助

解决Pandas读取CSV时的DtypeWarning问题

嘿,这个警告我之前处理过,其实本质是Pandas默认的分块读取机制搞的小插曲——当low_memory=True时,Pandas会分块加载文件并逐块推断列类型,而你的第2列(质量评级列,值是A、A+这类字符串)在不同块里被推断出了不同类型,所以触发了警告。结合你的数据情况,给你两种靠谱的解决办法:

方法1:明确指定目标列的数据类型(更推荐)

既然你知道第2列是字符串类的质量评级,直接在读取时指定它的类型为字符串就可以彻底避免这个问题,还能防止后续数据处理中出现类型混乱。如果知道该列的列名(比如假设是qualityRating),用列名指定会更直观;如果不确定列名,用列索引2也没问题:

import pandas as pd
# 用列名指定(推荐,更清晰)
data = pd.read_csv(
    '/kaggle/input/covidtracking/all-states-history.csv',
    index_col=0,
    parse_dates=True,
    dtype={"qualityRating": str}  # 替换成实际列名即可
)
print(data.shape)

或者用列索引指定:

import pandas as pd
data = pd.read_csv(
    '/kaggle/input/covidtracking/all-states-history.csv',
    index_col=0,
    parse_dates=True,
    dtype={2: str}
)
print(data.shape)

方法2:关闭low_memory选项

如果不想纠结列名或索引,直接设置low_memory=False,让Pandas一次性读取整个文件并推断列类型,这样就不会因为分块导致的类型不一致触发警告了。你的数据规模(16931行×41列)很小,完全不用担心内存问题:

import pandas as pd
data = pd.read_csv(
    '/kaggle/input/covidtracking/all-states-history.csv',
    index_col=0,
    parse_dates=True,
    low_memory=False
)
print(data.shape)

两种方法都能解决这个警告,个人更推荐第一种,因为明确指定类型会让你的代码更健壮,后续处理数据时也不会踩类型的坑~

内容的提问来源于stack exchange,提问作者R. Brown

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:21:56