为一对多连接创建 table/dataframe

Creating a table/dataframe for one to many join

我正在尝试编写一个执行以下操作的函数

def OneToMany(2):

那 returns 我关注了 table:

Num Join
2 2
2 1
2 0
1 1
1 0

该函数应该适用于代替 2 的任何数字。

希望我没听错:

def OneToMany(n):
    return pd.DataFrame(
        {"Num": i, "Join": j} for i in range(n, 0, -1) for j in range(i, -1, -1)
    )


print(OneToMany(2))

打印:

   Num  Join
0    2     2
1    2     1
2    2     0
3    1     1
4    1     0