當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。