Pipe
Pandas Pipe
import pandas as pd
df = pd.read_csv('https://calmcode.io/datasets/bigmac.csv')
def set_dtypes(dataf):
return (dataf
.assign(date=lambda d: pd.to_datetime(d['date']))
.sort_values(['currency_code', 'date']))
def remove_outliers(dataf):
min_row_country=32
countries = (dataf
.groupby('currency_code')
.agg(n=('name', 'count'))
.loc[lambda d: d['n'] >= min_row_country]
.index)
return (dataf
.loc[lambda d: d['currency_code'].isin(countries)])
df.pipe(set_dtypes).pipe(remove_outliers)