【发布时间】:2021-12-04 07:57:25
【问题描述】:
我有一个 pandas 数据框,想将包含多个任务的每一行拆分为一个新行。
The dataframe columns are:
start_t_i = start time of a task.
end_t_i = end time of a task.
weight_i = cost of a task.
例如,假设我有以下数据框 df1:
| task_name | start_t1 | end_t1 | weight_1 | start_t_2 | end_t2 | weight_2.. | start_t_k | end_t_k | weight_k |
|---|---|---|---|---|---|---|---|---|---|
| john | 5 | 7 | 1 | 9 | 10 | 9 | |||
| sally | 3 | 4 | 1 | 8 | 11 | 7 | 19 | 21 | 1 |
| tom | 1 | 2 | 3 |
我想把它转换成下面的df2:
| task_name | start_t | end_t | weight |
|---|---|---|---|
| john | 5 | 7 | 1 |
| john | 9 | 10 | 9 |
| sally | 3 | 4 | 1 |
| sally | 8 | 11 | 7 |
| sally | 19 | 21 | 1 |
| tom | 1 | 2 | 3 |
到目前为止,通过假设每个人最多只有两个任务,我设法将 df1 手动转换为 df2。 我的问题是,当每个人最多有 k 个任务时,我怎样才能从 df1 获得诸如 df2 之类的 df。
【问题讨论】:
标签: python pandas dataframe data-analysis data-cleaning