根据列名重塑熊猫数据框

时间:2019-06-04 19:08:48

标签: python pandas

我有一个像这样的数据框:

ID   |   Timestamp  |    x.val_1   |  x.val_2  |  y.val_1  |  y.val_2  | ...
1js  |      1pm     |       0      |     0     |     10    |     3     | ...
1js  |      2pm     |       3      |     4     |     11    |     1     | ...

我想将其转换为此数据框:

ID   |   Timestamp  |    LABEL    | x   |  y   |
1js  |      1pm     |     val_1   | 0   |  10  |
1js  |      1pm     |     val_2   | 0   |  3   |
1js  |      2pm     |     val_1   | 3   |  11  |
1js  |      2pm     |     val_2   | 4   |  1   |

...

我知道我可以堆叠pandas数据帧,但是在这里必须拆分列才能执行此操作,我想知道是否有一种优雅的方式来处理此问题。

我看了这个问题:How to melt 2 columns at the same time?

但是,这不能解决我的问题。在上面的示例中,答案假定已知列的数量有限。就我而言,我有很多列,格式为“ label.value_type”,并且我可以有多个标签和多个值类型,因此唯一的保证就是该结构。我想要一种使用“。”重塑此数据框的系统方法。在该列中拆分,并且上面的问题没有解决。

0 个答案:

没有答案