pandas.errors.DtypeWarning # 异常 pandas.errors。DtypeWarning [来源] # 从文件中读取列中的不同数据类型时引发警告。 因 dtype 不兼容而引发。每当read_csv 或read_table在给定 CSV 文件的列中遇到不一致的数据类型时,就会发生这种情况。 也可以看看 read_csv将 CSV(逗号分隔)文件读入 DataFrame。 read_table将通用分隔文件读入 DataFrame。 笔记 处理较大文件时会发出此警告,因为每个块读取都会进行数据类型检查。 尽管有警告,CSV 文件还是在单个列中以混合类型读取,该列将是对象类型。请参阅下面的示例以更好地理解此问题。 例子 此示例创建并读取一个大型 CSV 文件,其中的列包含 int和str。 >>> df = pd.DataFrame({'a': (['1'] * 100000 + ['X'] * 100000 + ... ['1'] * 100000), ... 'b': ['b'] * 300000}) >>> df.to_csv('test.csv', index=False) >>> df2 = pd.read_csv('test.csv') ... # DtypeWarning: Columns (0) have mixed types 值得注意的是,对于同一输入“1”,它将df2同时包含str和int 。 >>> df2.iloc[262140, 0] '1' >>> type(df2.iloc[262140, 0]) <class 'str'> >>> df2.iloc[262150, 0] 1 >>> type(df2.iloc[262150, 0]) <class 'int'> 解决此问题的一种方法是使用read_csv和read_table函数中的 dtype参数来显式转换: >>> df2 = pd.read_csv('test.csv', sep=',', dtype={'a': str}) 没有发出警告。