Pandas read_csv() 给出 DtypeWarning

Tom*_*thi 2 python pandas

.csv从数据帧创建了一个文件,如下所示:

df.to_csv('partial.csv', sep=',')
Run Code Online (Sandbox Code Playgroud)

数据框中的数据类型

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
Run Code Online (Sandbox Code Playgroud)

当我尝试.csv使用read_csv它读取新创建的文件时,出现错误:

new_df =  pd.read_csv('partial.csv')
Run Code Online (Sandbox Code Playgroud)

DtypeWarning:列 (5) 具有混合类型。在导入时指定 dtype 选项或设置 low_memory=False。交互性=交互性,编译器=编译器,结果=结果)

我怎样才能避免这个错误?出现此错误是因为我在to_csvor时做错了什么read_csv吗?

小智 7

请尝试一下下面的内容。可能效果很好,

new_df = pd.read_csv('partial.csv', low_memory=False)
Run Code Online (Sandbox Code Playgroud)

  • `low_memory = False` 有什么作用? (6认同)
  • 来自文档的 @TomJMuthirenthi 在内部以块的形式处理文件,从而在解析时减少内存使用,但可能会混合类型推断。为了确保没有混合类型,请设置 False,或使用 dtype 参数指定类型。请注意,无论如何,整个文件都会读入单个 DataFrame,使用 chunksize 或 iterator 参数以块的形式返回数据。(仅对 C 解析器有效)` (2认同)