【发布时间】:2022-01-23 16:24:18
【问题描述】:
我有一个带有数百行的 pandas df,如下所示:
| ID | value |
|---|---|
| IDx12 | 6 |
| IDx15 | 12 |
我想复制这些行 2 次,为每次复制增加 value 列,并为每个新创建的行添加一个名为 ratio 的列。
这是我想要创建的行的ratio 的值:
- 原始行 = 0
- 第一次复制 = 0.25
- 第二次复制 = 0.5
所以输出应该是这样的:
| ID | value | ratio |
|---|---|---|
| IDx12 | 6 | 0 |
| IDx12 | 7 | 0.25 |
| IDx12 | 8 | 0.5 |
| IDx15 | 12 | 0 |
| IDx15 | 13 | 0.25 |
| IDx15 | 14 | 0.5 |
我发现了一种非常愚蠢的方法,方法是复制 df,手动递增 value,添加带有 ratio 的列,然后连接所有 dfs。
但它非常效率低下。你有一个聪明的方法吗?
感谢您的帮助。
【问题讨论】:
-
也许在行上应用 lamda 并根据您的标准插入新的。 pandas.pydata.org/docs/reference/api/…