3
���h� � @ s� d Z ddlmZ ddlmZmZ G dd� de�ZG dd� de�Z G dd � d e�Z
G d
d� de�ZG dd
� d
e�Z
G dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )z%
Expose public exceptions & warnings
� )�OptionError)�OutOfBoundsDatetime�OutOfBoundsTimedeltac @ s e Zd ZdZdS )�NullFrequencyErrorz�
Error raised when a null `freq` attribute is used in an operation
that needs a non-null frequency, particularly `DatetimeIndex.shift`,
`TimedeltaIndex.shift`, `PeriodIndex.shift`.
N)�__name__�
__module__�__qualname__�__doc__� r
r
�8/tmp/pip-build-5_djhm0z/pandas/pandas/errors/__init__.pyr s r c @ s e Zd ZdZdS )�PerformanceWarningzE
Warning raised when there is a possible performance impact.
N)r r r r r
r
r
r r s r c @ s e Zd ZdZdS )�UnsupportedFunctionCallz�
Exception raised when attempting to call a numpy function
on a pandas object, but that function is not supported by
the object e.g. ``np.cumsum(groupby_object)``.
N)r r r r r
r
r
r r
s r
c @ s e Zd ZdZdS )�UnsortedIndexErrorz�
Error raised when attempting to get a slice of a MultiIndex,
and the index has not been lexsorted. Subclass of `KeyError`.
N)r r r r r
r
r
r r $ s r c @ s e Zd ZdZdS )�ParserErrorao
Exception that is raised by an error encountered in parsing file contents.
This is a generic error raised for errors encountered when functions like
`read_csv` or `read_html` are parsing contents of a file.
See Also
--------
read_csv : Read CSV (comma-separated) file into a DataFrame.
read_html : Read HTML table into a DataFrame.
N)r r r r r
r
r
r r + s r c @ s e Zd ZdZdS )�DtypeWarninga�
Warning raised when reading different dtypes in a column from a file.
Raised for a dtype incompatibility. This can happen whenever `read_csv`
or `read_table` encounter non-uniform dtypes in a column(s) of a given
CSV file.
See Also
--------
read_csv : Read CSV (comma-separated) file into a DataFrame.
read_table : Read general delimited file into a DataFrame.
Notes
-----
This warning is issued when dealing with larger files because the dtype
checking happens per chunk read.
Despite the warning, the CSV file is read with mixed types in a single
column which will be an object type. See the examples below to better
understand this issue.
Examples
--------
This example creates and reads a large CSV file with a column that contains
`int` and `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
Important to notice that ``df2`` will contain both `str` and `int` for the
same input, '1'.
>>> df2.iloc[262140, 0]
'1'
>>> type(df2.iloc[262140, 0])
<class 'str'>
>>> df2.iloc[262150, 0]
1
>>> type(df2.iloc[262150, 0])
<class 'int'>
One way to solve this issue is using the `dtype` parameter in the
`read_csv` and `read_table` functions to explicit the conversion:
>>> df2 = pd.read_csv('test.csv', sep=',', dtype={'a': str})
No warning was issued.
>>> import os
>>> os.remove('test.csv')
N)r r r r r
r
r
r r 9 s 7r c @ s e Zd ZdZdS )�EmptyDataErrorz�
Exception that is thrown in `pd.read_csv` (by both the C and
Python engines) when empty data or header is encountered.
N)r r r r r
r
r
r r s s r c @ s e Zd ZdZdS )�
ParserWarninga9
Warning raised when reading a file that doesn't use the default 'c' parser.
Raised by `pd.read_csv` and `pd.read_table` when it is necessary to change
parsers, generally from the default 'c' parser to 'python'.
It happens due to a lack of support or functionality for parsing a
particular attribute of a CSV file with the requested engine.
Currently, 'c' unsupported options include the following parameters:
1. `sep` other than a single character (e.g. regex separators)
2. `skipfooter` higher than 0
3. `sep=None` with `delim_whitespace=False`
The warning can be avoided by adding `engine='python'` as a parameter in
`pd.read_csv` and `pd.read_table` methods.
See Also
--------
pd.read_csv : Read CSV (comma-separated) file into DataFrame.
pd.read_table : Read general delimited file into DataFrame.
Examples
--------
Using a `sep` in `pd.read_csv` other than a single character:
>>> import io
>>> csv = '''a;b;c
... 1;1,8
... 1;2,1'''
>>> df = pd.read_csv(io.StringIO(csv), sep='[;,]') # doctest: +SKIP
... # ParserWarning: Falling back to the 'python' engine...
Adding `engine='python'` to `pd.read_csv` removes the Warning:
>>> df = pd.read_csv(io.StringIO(csv), sep='[;,]', engine='python')
N)r r r r r
r
r
r r z s &r c @ s e Zd ZdZdS )�
MergeErrorzx
Error raised when problems arise during merging due to problems
with input data. Subclass of `ValueError`.
N)r r r r r
r
r
r r � s r c @ s e Zd ZdZdS )�AccessorRegistrationWarningzC
Warning for attribute conflicts in accessor registration.
N)r r r r r
r
r
r r � s r c @ s( e Zd ZdZd dd�Zed�dd�ZdS )
�AbstractMethodErrorz�
Raise this error instead of NotImplementedError for abstract methods
while keeping compatibility with Python 2 and Python 3.
�methodc C s: ddddh}||kr*t d|� d|� d���|| _|| _d S )Nr �classmethod�staticmethod�propertyzmethodtype must be one of z, got z instead.)�
ValueError�
methodtype�class_instance)�selfr r �typesr
r
r �__init__� s zAbstractMethodError.__init__)�returnc C s2 | j dkr| jj}nt| j�j}d| j � d|� �S )Nr zThis z' must be defined in the concrete class )r r r �type)r �namer
r
r �__str__� s
zAbstractMethodError.__str__N)r )r r r r r �strr# r
r
r
r r � s
r c @ s e Zd ZdZdS )�NumbaUtilErrorz=
Error raised for unsupported Numba engine routines.
N)r r r r r
r
r
r r% � s r% c @ s e Zd ZdZdS )�InvalidIndexErrorzc
Exception raised when attemping to use an invalid index key.
.. versionadded:: 1.1.0
N)r r r r r
r
r
r r& |