熊猫 read_csv() 给出 DtypeWarning
Posted
技术标签:
【中文标题】熊猫 read_csv() 给出 DtypeWarning【英文标题】:Pandas read_csv() gives DtypeWarning 【发布时间】:2018-07-19 08:37:01 【问题描述】:我从如下数据框创建了一个.csv
文件:
df.to_csv('partial.csv', sep=',')
数据框中的数据类型
df.dtypes
给出:
Contact_ID int64
Src_Sys_Cd object
First_Name object
Last_Name object
Src_Sys_Key object
Full_Name object
Office_No object
Mobile object
Email object
dtype: object
当我尝试使用read_csv
读取新创建的.csv
文件时,出现错误:
new_df = pd.read_csv('partial.csv')
DtypeWarning:列 (5) 具有混合类型。指定 dtype 选项 导入或设置 low_memory=False。交互性=交互性, 编译器=编译器,结果=结果)
如何避免此错误?出现此错误是因为我在 to_csv
或 read_csv
时做错了吗?
【问题讨论】:
Pandas read_csv low_memory and dtype options的可能重复 【参考方案1】:请试一试下面的内容。它可能会很好,
new_df = pd.read_csv('partial.csv', low_memory=False)
【讨论】:
low_memory = False
是做什么的?
@TomJMuthirenthi 来自文档Internally process the file in chunks, resulting in lower memory use while parsing, but possibly mixed type inference. To ensure no mixed types either set False, or specify the type with the dtype parameter. Note that the entire file is read into a single DataFrame regardless, use the chunksize or iterator parameter to return the data in chunks. (Only valid with C parser)
【参考方案2】:
您的原始列的数据类型是什么? 您可以尝试通过输入参数 dtype 来指定 read_csv 中的数据类型:
types = ‘your_col_name01’: your_dtype01, ‘your_col_name02’: your_dtype02
new_df = pd.read_csv('partial.csv', dtype=types)
【讨论】:
我已经在问题中添加了数据类型以上是关于熊猫 read_csv() 给出 DtypeWarning的主要内容,如果未能解决你的问题,请参考以下文章