【发布时间】:2021-10-18 17:32:18
【问题描述】:
我正在尝试编写一个执行以下操作的函数
def OneToMany(2):
返回给我一个下表:
| Num | Join |
|---|---|
| 2 | 2 |
| 2 | 1 |
| 2 | 0 |
| 1 | 1 |
| 1 | 0 |
该函数应该适用于任何数字来代替 2。
【问题讨论】:
标签: python dataframe join arraylist
我正在尝试编写一个执行以下操作的函数
def OneToMany(2):
返回给我一个下表:
| Num | Join |
|---|---|
| 2 | 2 |
| 2 | 1 |
| 2 | 0 |
| 1 | 1 |
| 1 | 0 |
该函数应该适用于任何数字来代替 2。
【问题讨论】:
标签: python dataframe join arraylist
希望我的理解正确:
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
【讨论】:
[{"Num": i, "Join": j} for i in range(n, 0, -1) for j in range(i, -1, -1)] 重写为分隔行来调试代码。基本上,它会创建字典列表[{"Num":xx, "Join":xx}, ...],然后 pandas 会从中创建数据框。