Include/exclude using multiple columns
This is a proposal for two new methods that makes filtering dataframe rows easier based in value of two or more column values.

In my use of pandas there is often need to filter (exclude or keep) all the rows that meet a certain condition on multiple column **simultaneously**. For example column A is equal to 1 and column B is equal to 2. I know that I can write a code like the following

```python
new_df = df[(df['A'] == 1) & (df['B'] == 2)]
```

but this seems too much of writing for a simple task, especially if the number of conditions gets larger or the names are not as concise as df, A, and B.

I have written the following two methods to accomplish the task for arbitrary number of conditions and have registered it as native functions using pandas_flavor library. I was wondering if there is attractions/thoughts from others to incorporate this into the original pandas package

``` python
@pf.register_dataframe_method
def include(df, **kwargs):
    '''
    Include only the rows that match the input condition simultaneously.

    Parameters:
    -----------
    df : pandas.DataFrame
        input dataframe
    **kwargs : keyword arguments
        The name of column and the value that are being checked

    Returns:
    --------
    pandas.DataFrame that the matching rows are kept

    Example:
    --------
    Assume df is a dataframe with the following columns: column1, column2, column3
    Then we can only keep the rows that have column1 = value1 and column2 = value2 simultaneously by following command

    include(df, column1=value1, column2=value2)
    '''
    arg = np.ones(shape=(len(df),)).astype(bool)
    for key, value in kwargs.items():
        arg &= (df[key] == value)
        
    return df[arg]

@pf.register_dataframe_method
def exclude(df, **kwargs):
    '''
    Exclude the rows that match the input condition simultaneously.

    Parameters:
    -----------
    df : pandas.DataFrame
        input dataframe
    **kwargs : keyword arguments
        The name of columns and their values that are being checked

    Returns:
    --------
    pandas.DataFrame that the matching rows are excluded

    Example:
    --------
    Assume df is a dataframe with the following columns: column1, column2, column3
    Then we can exclude the rows that have column1 = value1 and column2 = value2 simultaneously by following command

    exclude(df, column1=value1, column2=value2)
    '''
    arg = np.ones(shape=(len(df),)).astype(bool)
    for key, value in kwargs.items():
        arg &= (df[key] == value)
        
    return df[~arg]
``` 