用法:
exception pandas.errors.DtypeWarning
從文件中讀取列中的不同 dtype 時引發警告。
因 dtype 不兼容而引發。每當
read_csv
或read_table
在給定 CSV 文件的列中遇到不統一的 dtype 時,就會發生這種情況。注意:
處理較大的文件時會發出此警告,因為每次讀取塊都會進行 dtype 檢查。
盡管有警告,但 CSV 文件在單個列中以混合類型讀取,這將是一個對象類型。請參閱以下示例以更好地理解此問題。
例子:
此示例創建並讀取一個包含
int
和str
的列的大型 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’ 的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})
沒有發出警告。
相關用法
- Python pandas.errors.DuplicateLabelError用法及代碼示例
- Python pandas.errors.ParserWarning用法及代碼示例
- Python pandas.eval()用法及代碼示例
- Python pandas.eval用法及代碼示例
- Python pandas.arrays.IntervalArray.is_empty用法及代碼示例
- Python pandas.DataFrame.ewm用法及代碼示例
- Python pandas.api.types.is_timedelta64_ns_dtype用法及代碼示例
- Python pandas.DataFrame.dot用法及代碼示例
- Python pandas.DataFrame.apply用法及代碼示例
- Python pandas.DataFrame.combine_first用法及代碼示例
- Python pandas.read_pickle用法及代碼示例
- Python pandas.Index.value_counts用法及代碼示例
- Python pandas.DatetimeTZDtype用法及代碼示例
- Python pandas.DataFrame.cumsum用法及代碼示例
- Python pandas.Interval.is_empty用法及代碼示例
- Python pandas.api.indexers.FixedForwardWindowIndexer用法及代碼示例
- Python pandas.core.resample.Resampler.nearest用法及代碼示例
- Python pandas.Series.add_prefix用法及代碼示例
- Python pandas.Period.strftime用法及代碼示例
- Python pandas.Series.map用法及代碼示例
注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.errors.DtypeWarning。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。