def METHOD_NAME(df_filtered):
    df = df_filtered
    with small_buffer(df, 3):
        # * 1 to avoid mixed endianness
        assert df.first(df.y, df.x*1).tolist() == 0
        assert df.first(df.y, df.x*1, binby=[df.x], limits=[0, 10], shape=2).tolist() == [0, 5**2]
        assert df.first(df.y, -df.x, binby=[df.x], limits=[0, 10], shape=2).tolist() == [4**2, 9**2]
        assert df.first(df.y, -df.x, binby=[df.x, df.x+5], limits=[[0, 10], [5, 15]], shape=[2, 1]).tolist() == [[4**2], [9**2]]
        assert df.first([df.y, df.y], df.x*1).tolist() == [0, 0]
        assert df.first([df.y, df.y], df.x*1, selection="x > 100").tolist() == [None, None]