当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.errors.DtypeWarning用法及代码示例


用法:

exception pandas.errors.DtypeWarning

从文件中读取列中的不同 dtype 时引发警告。

因 dtype 不兼容而引发。每当 read_csvread_table 在给定 CSV 文件的列中遇到不统一的 dtype 时,就会发生这种情况。

注意

处理较大的文件时会发出此警告,因为每次读取块都会进行 dtype 检查。

尽管有警告,但 CSV 文件在单个列中以混合类型读取,这将是一个对象类型。请参阅以下示例以更好地理解此问题。

例子

此示例创建并读取一个包含 intstr 的列的大型 CSV 文件。

>>> 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

需要注意的是,df2 将包含同一输入 ‘1’ 的 strint

>>> 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_csvread_table 函数中使用 dtype 参数来显式转换:

>>> df2 = pd.read_csv('test.csv', sep=',', dtype={'a':str})

没有发出警告。

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.errors.DtypeWarning。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。