def test_spread_errors( self, data, key, value, fill, convert, drop, sep, error, comment ): with pytest.raises(error): spread( df=data, key=key, value=value, fill=fill, convert=convert, drop=drop, sep=sep, )
def test_spread(self, dataframe_long): _df = spread( df=dataframe_long, key="year", value="actual", fill="NaN", drop=False, convert=True, sep="_", )
def test_user_warning(self, dataframe_long): with pytest.warns(UserWarning): spread( df=dataframe_long, key="year", value="actual", drop=False, convert=True )
def test_fill_other_than_nan(self, dataframe_long): df1 = spread(df=dataframe_long, key="year", value="actual", fill="Hej", sep="_") df2 = spread(df=dataframe_long, key="year", value="actual", sep="_") _idx1 = sorted(df1.query("year_2019=='Hej'").index.tolist()) _idx2 = sorted(df2.query("year_2019.isna()").index.tolist()) assert _idx1 == _idx2
def test_no_nan(self, dataframe_long): _df = spread( df=dataframe_long, key="year", value="actual", drop=True, convert=True ) assert _df.isna().any().sum() == 0
def dataframe_wide(dataframe_long): return spread(df=dataframe_long, key="year", value="actual")