def split_dataframe(df, splits):
    """
    Split dataframe into 'splits' equal parts.

    is possible than the last split is not uniform.

    Args:
        df (pandas.Dataframe): Dataframe to split
        splits (int): Number of splits

    Returns: List of dataframe splits
    """
    length = int(len(df.index) / splits)
    chunks = []

    for idx in range(splits):
        if (idx < splits - 1):
            chunks.append(
                df.iloc[idx * length:(idx + 1) * length, :],
            )
        else:
            chunks.append(
                df.iloc[idx * length:, :],
            )

    return chunks